可扩展的GUI框/标签

时间:2015-09-08 10:49:33

标签: c# unity3d

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

{{1}}

2 个答案:

答案 0 :(得分:0)

您可以使用Screen类获取当前的Screen.width和Screen.height,并在更改时创建重新计算GUI坐标的内容。如果您的游戏相机不使用整个屏幕,您可以使用Camera.current.pixelWidth / pixelHeight来做同样的事情。

如果你想要一个响应式用户界面,你应该避免使用坐标并使用GUILayout而不是GUI类来声明你的组件,如果没有大量的手工计算可以(并且可能会)将你的性能降低,那么调整它会更好更容易

答案 1 :(得分:0)

只需使用Screen.width表示GUI的宽度和x位置,使用Screen.height表示GUI的高度和y位置。 例如:,对于1024:640的屏幕重新分析

GUI.Box(new Rect(Screen.width/10, Screen.height/10, Screen.width/3, Screen.height/5), "What You Should Know");

将创建一个与

相同的Gui框
GUI.Box(new Rect(102.4f, 64, 341.3f, 128), "What You Should Know");

但第一个会有回应。