所有屏幕分辨率的GUI按钮

时间:2014-10-31 08:03:14

标签: user-interface unity3d screen-orientation unityscript

我在汽车游戏中使用OnGUI按钮,并在其上附加前进和后退按钮。但他们继续严格调整所有屏幕。

我尝试了各种在线解决方案,但都失败了。我正在使用这个:

GUI.RepeatButton (new Rect (Screen.width - 780, Screen.height - 130, 120, 120), LeftBtnTexture, TransparentStyle)

我知道这是错误的,所有屏幕的替代宽度和高度设置。 :(

1 个答案:

答案 0 :(得分:0)

看看Screen.dpi - http://docs.unity3d.com/ScriptReference/Screen-dpi.html

它允许您以英寸为单位指定按钮大小。但请注意,dpi可能不可用(等于零)或甚至可能不正确,因此您应该进行一些健全性检查。例如:

public float sizeInInches = 0.5;
float dpi = Screen.dpi;
if (dpi < 25 || dpi > 800) {
    dpi = 150;
}
float sizeInPx = sizeInInches * dpi;

作为某些情况的替代方案,您可能希望以屏幕尺寸的百分比设置GUI元素大小,例如sizeInPx = Screen.width * 0.1;