Im делает мою первую 2d игру с единством и im пытается сделать главное меню.получить ориентацию устройства с единством3d
void OnGUI(){
GUI.DrawTexture (new Rect (0, 0, Screen.width, Screen.height), MyTexture);
if (Screen.orientation == ScreenOrientation.Landscape) {
GUI.Button(new Rect(Screen.width * .25f, Screen.height * .5f, Screen.width * .5f, 50f), "Start Game");
} else {
GUI.Button(new Rect(0, Screen.height * .4f, Screen.width, Screen.height * .1f), "Register");
}
}
Я хочу выписывать кнопку запуска игры, если ориентация устройства в ландшафтном и регистр, если он находится в портрете. Теперь он записывает кнопку Register, даже если я играю в игру в ландшафтном режиме. Что не так?
что мне сравнивать input.deviceOrientation, чтобы получить ориентацию в ландшафте или нет? –
См. Гиперссылку в моем ответе на 'DeviceOrientation' (http://docs.unity3d.com/ScriptReference/DeviceOrientation.html). Это содержит такие значения, как «DeviceOrientation.LandscapeLeft», представляющие ландшафтное устройство с кнопкой «Дом» слева. Он имеет несколько других более конкретных значений, хотя для таких случаев, как устройство, которое параллельно с землей, которое вы, вероятно, должны обрабатывать (то есть, многие приложения по умолчанию имеют пейзаж в этой ситуации). Я добавил пример к моему ответу. – SirBraneDamuj
Я пробовал это Input.deviceOrientation == DeviceOrientation.LandscapeLeft || Input.deviceOrientation == DeviceOrientation.LandscapeRight, но он по-прежнему не работает. Я начинаю думать, что, возможно, когда вы играете в игру и меняете разрешение устройства, она фактически не моделирует устройство в любой ориентации, даже если, например, говорит «WVGA Landscape 800x480» –