首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可伸缩的GUI框/标签

可伸缩的GUI框/标签
EN

Stack Overflow用户
提问于 2015-09-08 18:49:33
回答 2查看 69关注 0票数 0

我的GUI框和标签是由坐标设置的。当它们在构建时离开屏幕时,我将如何设置它们以随分辨率和屏幕尺寸缩放。GUI显示在屏幕左上角的第一个IF语句,然后是右上角显示的next语句!代码示例将非常有用!

代码语言:javascript
复制
public void OnGUI()
{
    if ((isClicked) && (cdrwModel))
    {
        GUI.contentColor = Color.white;
        GUI.Label(new Rect(5, 5, 400, 400), "<color=cyan><size=30>This is the </size></color>" + "<color=cyan><size=30>" + this.cdrw + "</size></color>");
        GUI.Label(new Rect(15, 35, 400, 400), "Press <TAB> for more information");
        if (showGui) 
        {
            GUI.contentColor = Color.white;
            GUI.Box(new Rect(1000, 5, 400, 400), "What You Should Know");
            GUI.Label(new Rect(1135, 5, 400, 400), "___________________");
            GUI.Label(new Rect(1145, 23, 400, 400), "<color=cyan><size=20>The </size></color>" + "<color=cyan><size=20>" + this.cdrw + "</size></color>");    
            foreach (var file in _puzzlesFile)
            {
                GUI.contentColor = Color.white;
                GUI.Label(new Rect(1000, 50, 400, 400), file);
            }  
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2015-09-08 19:27:54

您可以使用Screen类来获取当前的Screen.width和Screen.height,并在更改时创建一些内容来重新计算您的图形用户界面坐标。如果你的游戏摄像头没有使用整个屏幕,你可以让Camera.current.pixelWidth/pixelHeight来做同样的事情。

如果你想要一个响应式的UI,你应该避免坐标,并使用GUILayout而不是GUI类来声明你的组件,这是更好和更容易的调整,而不是大量的手工计算,这可能会破坏你的性能。

票数 0
EN

Stack Overflow用户

发布于 2015-09-08 19:37:17

只需为图形用户界面的宽度和x位置使用Screen.width,为图形用户界面的高度和y位置使用Screen.height。例如:,对于1024的屏幕分辨率:640

代码语言:javascript
复制
GUI.Box(new Rect(Screen.width/10, Screen.height/10, Screen.width/3, Screen.height/5), "What You Should Know");

将创建与相同的Gui框。

代码语言:javascript
复制
GUI.Box(new Rect(102.4f, 64, 341.3f, 128), "What You Should Know");

但第一个会有反应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32455800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档