2014-10-31 2 views
0

Я использую кнопки OnGUI в автомобильной игре и нажимаю на нее кнопки вперед и назад. Но они продолжают плохо корректироваться на всех экранах.GUI Кнопка для всех разрешений экрана

Я пробовал различные онлайн-решения, но не смог. Я использую это:

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

Я знаю, что это неправильно, что будет альтернативная ширина и высота установки для всех экранов. :(

ответ

0

Посмотрите на Screen.dpi -. http://docs.unity3d.com/ScriptReference/Screen-dpi.html

Это позволит вам определить размер кнопки в дюймах Но следует помнить, что дюйм может быть недоступен (равно нулю) или, может быть, даже неправильно, поэтому вы должны сделать некоторые проверки вменяемости Например:.

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;

Смежные вопросы