Простое GUI меню.
commandoby Дата: Пт, 28 Сен 2012, 19:55 | Сообщение # 41
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Code
var screenBoolean = true ; var soundFloat = 1.0 ; function OnGUI () { audio . volume = soundFloat ; //применяем громкость if ( GUI . Button ( Rect ( 5 , 5 , 180 , 30 ), "800x600" )) { Screen . SetResolution ( 800 , 600 , screenBoolean ); } //применяем разрешение экрана screenBoolean = GUI . Toggle ( Rect ( 5 , 40 , 180 , 20 ), screenBoolean , "На весь экран" ); //изменяем переменную soundFloat = GUI . HorizontalSlider ( Rect ( 5 , 65 , 180 , 20 ), soundFloat , 0 , 0 , 1 , 0 ); //ползунок, регулирующий громкость }
Примерно так я сделал у себя. Возможны ошибки (писал в браузере).
Блог.
Сообщение Code
var screenBoolean = true ; var soundFloat = 1.0 ; function OnGUI () { audio . volume = soundFloat ; //применяем громкость if ( GUI . Button ( Rect ( 5 , 5 , 180 , 30 ), "800x600" )) { Screen . SetResolution ( 800 , 600 , screenBoolean ); } //применяем разрешение экрана screenBoolean = GUI . Toggle ( Rect ( 5 , 40 , 180 , 20 ), screenBoolean , "На весь экран" ); //изменяем переменную soundFloat = GUI . HorizontalSlider ( Rect ( 5 , 65 , 180 , 20 ), soundFloat , 0 , 0 , 1 , 0 ); //ползунок, регулирующий громкость }
Примерно так я сделал у себя. Возможны ошибки (писал в браузере).Автор - commandoby Дата добавления - 28 Сен 2012 в 19:55
alexchromets Дата: Пт, 28 Сен 2012, 20:20 | Сообщение # 42
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
commandoby , не работает ничего. Попробовал закинуть код с ползунком - ошибку выбивает: Assets/scriptScreenMainMenu.js(48,51): BCE0023: No appropriate version of 'UnityEngine.GUI.HorizontalSlider' for the argument list '(UnityEngine.Rect, float, int, int, int, int)' was found.
Code
// Main Menu Script var window = 0 ; var myFont : Font ; var style : GUIStyle ; var toggle = false ; //тумблер var sider : int = 0 ; // горизонтальный ползунок static var resolutions : Resolution []; var soundFloat : float = 1.0 ; // function Start () { Screen . SetResolution ( 800 , 600 , false ); }; function OnGUI () { audio . volume = soundFloat ; //применяем громкость if ( Input . GetKey ( "f1" )) { window = 2 ; } GUI . skin . font = myFont ; if ( window == 0 ) // теперь главное меню активировано при window = 0 { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "ГЛАВНОЕ МЕНЮ" ); if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 80 , 180 , 30 ), "Играть" )) { Application . LoadLevel ( "sceneLevel1" ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 30 ), "Настройки" )) { window = 1 ; // активируем окно "настройки" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 0 , 180 , 30 ), "Помощь" )) { window = 2 ; // активируем окно "помощь" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Выход" )) { Application . Quit (); } } if ( window == 1 ) // наши настройки { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Настройки" ); //sider = GUI.HorizontalSlider (Rect (Screen.width/2 - 90,Screen.height/2 - 40, 180, 20), sider, 0, 160); //горизонтальный soundFloat = GUI . HorizontalSlider ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 20 ), soundFloat , 0 , 0 , 1 , 0 ); //ползунок, регулирующий громкость //GUI.Box (Rect (Screen.width/2 - 130 - sider,Screen.height/2 - 100,20 + sider,20 + sider1), ""); toggle = GUI . Toggle ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 70 , 180 , 20 ), toggle , "На весь экран" ); if ( toggle == true ) { var resolutions : Resolution [] = Screen . resolutions ; // Switch to the lowest supported fullscreen resolution Screen . SetResolution ( resolutions [ 0 ]. width , resolutions [ 0 ]. height , true ); } else { Screen . SetResolution ( 800 , 600 , false ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } if ( window == 2 ) // наша помощь { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Помощь" ); GUI . Label ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 80 , 200 , 140 ), "Здесь должна быть помощь " , style ); // текст if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } }
Сообщение отредактировал alexchromets - Пт, 28 Сен 2012, 21:03
Сообщение commandoby , не работает ничего. Попробовал закинуть код с ползунком - ошибку выбивает: Assets/scriptScreenMainMenu.js(48,51): BCE0023: No appropriate version of 'UnityEngine.GUI.HorizontalSlider' for the argument list '(UnityEngine.Rect, float, int, int, int, int)' was found.
Code
// Main Menu Script var window = 0 ; var myFont : Font ; var style : GUIStyle ; var toggle = false ; //тумблер var sider : int = 0 ; // горизонтальный ползунок static var resolutions : Resolution []; var soundFloat : float = 1.0 ; // function Start () { Screen . SetResolution ( 800 , 600 , false ); }; function OnGUI () { audio . volume = soundFloat ; //применяем громкость if ( Input . GetKey ( "f1" )) { window = 2 ; } GUI . skin . font = myFont ; if ( window == 0 ) // теперь главное меню активировано при window = 0 { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "ГЛАВНОЕ МЕНЮ" ); if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 80 , 180 , 30 ), "Играть" )) { Application . LoadLevel ( "sceneLevel1" ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 30 ), "Настройки" )) { window = 1 ; // активируем окно "настройки" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 0 , 180 , 30 ), "Помощь" )) { window = 2 ; // активируем окно "помощь" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Выход" )) { Application . Quit (); } } if ( window == 1 ) // наши настройки { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Настройки" ); //sider = GUI.HorizontalSlider (Rect (Screen.width/2 - 90,Screen.height/2 - 40, 180, 20), sider, 0, 160); //горизонтальный soundFloat = GUI . HorizontalSlider ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 20 ), soundFloat , 0 , 0 , 1 , 0 ); //ползунок, регулирующий громкость //GUI.Box (Rect (Screen.width/2 - 130 - sider,Screen.height/2 - 100,20 + sider,20 + sider1), ""); toggle = GUI . Toggle ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 70 , 180 , 20 ), toggle , "На весь экран" ); if ( toggle == true ) { var resolutions : Resolution [] = Screen . resolutions ; // Switch to the lowest supported fullscreen resolution Screen . SetResolution ( resolutions [ 0 ]. width , resolutions [ 0 ]. height , true ); } else { Screen . SetResolution ( 800 , 600 , false ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } if ( window == 2 ) // наша помощь { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Помощь" ); GUI . Label ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 80 , 200 , 140 ), "Здесь должна быть помощь " , style ); // текст if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } }
Автор - alexchromets Дата добавления - 28 Сен 2012 в 20:20
commandoby Дата: Пт, 28 Сен 2012, 20:47 | Сообщение # 43
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
alexchromets , поменяй Code
soundFloat = GUI . HorizontalSlider ( Rect ( 5 , 65 , 180 , 20 ), soundFloat , 0.0 , 1.0 ); //ползунок, регулирующий громкость
Добавлено (28.09.2012, 20:47) ---------------------------------------------alexchromets , красный цвет запрещён!
Блог.
Сообщение отредактировал commandoby - Пт, 28 Сен 2012, 20:47
Сообщение alexchromets , поменяй Code
soundFloat = GUI . HorizontalSlider ( Rect ( 5 , 65 , 180 , 20 ), soundFloat , 0.0 , 1.0 ); //ползунок, регулирующий громкость
Добавлено (28.09.2012, 20:47) ---------------------------------------------alexchromets , красный цвет запрещён!
Автор - commandoby Дата добавления - 28 Сен 2012 в 20:47
alexchromets Дата: Пт, 28 Сен 2012, 21:29 | Сообщение # 44
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
commandoby , аудио заработало, спасибо! Только что с видео делать? Покопался с видео, когда захожу в "Настройки" и нажимаю на "На весь экран", то оно на весь экран становится и моргает, пока из этого подменю не выйду, дальше все работает нормально, но когда захожу туда опять(в настройки) - тумблер сам становится в положение "выкл." и фулскрин, соответственно, отключается. Как этом ожно исправить?
Code
// Main Menu Script var window = 0 ; var myFont : Font ; var style : GUIStyle ; var toggle = false ; //тумблер static var soundFloat : float = 1.0 ; // function OnGUI () { AudioListener . volume = soundFloat ; //применяем громкость if ( Input . GetKey ( "f1" )) { window = 2 ; } GUI . skin . font = myFont ; if ( window == 0 ) // теперь главное меню активировано при window = 0 { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "ГЛАВНОЕ МЕНЮ" ); if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 80 , 180 , 30 ), "Играть" )) { Application . LoadLevel ( "sceneLevel1" ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 30 ), "Настройки" )) { window = 1 ; // активируем окно "настройки" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 0 , 180 , 30 ), "Помощь" )) { window = 2 ; // активируем окно "помощь" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Выход" )) { Application . Quit (); } } if ( window == 1 ) // наши настройки { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Настройки" ); GUI . Label ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 70 , 180 , 20 ), "Громкость музыки:" ); soundFloat = GUI . HorizontalSlider ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 50 , 180 , 20 ), soundFloat , 0.0 , 1.0 ); //ползунок, регулирующий громкость toggle = GUI . Toggle ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 20 , 180 , 20 ), toggle , "На весь экран" ); if ( toggle == true ) { Screen . SetResolution ( Screen . currentResolution . width , Screen . currentResolution . height , true ); } else { Screen . SetResolution ( 800 , 600 , false ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } if ( window == 2 ) // наша помощь { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Помощь" ); GUI . Label ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 80 , 200 , 140 ), "Здесь должна быть помощь " , style ); // текст if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } }
Сообщение отредактировал alexchromets - Пн, 01 Окт 2012, 01:57
Сообщение commandoby , аудио заработало, спасибо! Только что с видео делать? Покопался с видео, когда захожу в "Настройки" и нажимаю на "На весь экран", то оно на весь экран становится и моргает, пока из этого подменю не выйду, дальше все работает нормально, но когда захожу туда опять(в настройки) - тумблер сам становится в положение "выкл." и фулскрин, соответственно, отключается. Как этом ожно исправить?
Code
// Main Menu Script var window = 0 ; var myFont : Font ; var style : GUIStyle ; var toggle = false ; //тумблер static var soundFloat : float = 1.0 ; // function OnGUI () { AudioListener . volume = soundFloat ; //применяем громкость if ( Input . GetKey ( "f1" )) { window = 2 ; } GUI . skin . font = myFont ; if ( window == 0 ) // теперь главное меню активировано при window = 0 { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "ГЛАВНОЕ МЕНЮ" ); if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 80 , 180 , 30 ), "Играть" )) { Application . LoadLevel ( "sceneLevel1" ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 40 , 180 , 30 ), "Настройки" )) { window = 1 ; // активируем окно "настройки" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 0 , 180 , 30 ), "Помощь" )) { window = 2 ; // активируем окно "помощь" } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Выход" )) { Application . Quit (); } } if ( window == 1 ) // наши настройки { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Настройки" ); GUI . Label ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 70 , 180 , 20 ), "Громкость музыки:" ); soundFloat = GUI . HorizontalSlider ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 50 , 180 , 20 ), soundFloat , 0.0 , 1.0 ); //ползунок, регулирующий громкость toggle = GUI . Toggle ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 - 20 , 180 , 20 ), toggle , "На весь экран" ); if ( toggle == true ) { Screen . SetResolution ( Screen . currentResolution . width , Screen . currentResolution . height , true ); } else { Screen . SetResolution ( 800 , 600 , false ); } if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } if ( window == 2 ) // наша помощь { GUI . Box ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 100 , 200 , 180 ), "Помощь" ); GUI . Label ( Rect ( Screen . width / 2 - 100 , Screen . height / 2 - 80 , 200 , 140 ), "Здесь должна быть помощь " , style ); // текст if ( GUI . Button ( Rect ( Screen . width / 2 - 90 , Screen . height / 2 + 40 , 180 , 30 ), "Назад" ) || Input . GetKey ( "escape" )) { window = 0 ; } } }
Автор - alexchromets Дата добавления - 28 Сен 2012 в 21:29
egor152 Дата: Чт, 25 Окт 2012, 23:48 | Сообщение # 45
Сообщений: 3
Награды:
0
Репутация:
0
Статус: Offline
выложите пожалуйста целый скрипт а то у меня какие то проблемы
Сообщение выложите пожалуйста целый скрипт а то у меня какие то проблемы Автор - egor152 Дата добавления - 25 Окт 2012 в 23:48
ashot228 Дата: Пн, 09 Дек 2013, 21:59 | Сообщение # 46
Сообщений: 1
Награды:
0
Репутация:
0
Статус: Offline
Всем привет. Делал все по инструкции - после перехода на другую сцену меню не убирается( Так и остается висеть на экране. Подскажите пожалуйста как его убрать...
Сообщение Всем привет. Делал все по инструкции - после перехода на другую сцену меню не убирается( Так и остается висеть на экране. Подскажите пожалуйста как его убрать... Автор - ashot228 Дата добавления - 09 Дек 2013 в 21:59
игнат Дата: Пн, 09 Дек 2013, 22:33 | Сообщение # 47
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
ashot228 , это можно сделать разными путями. Можно написать, что скрипт DontDestroyOnLoad (если меню паузы, если нет - то это было необязательно), и сделать bool переменную, которая будет вкл\отк скрипт, если нажата кнопка "играть".
Правила форума · участник GCC
Сообщение ashot228 , это можно сделать разными путями. Можно написать, что скрипт DontDestroyOnLoad (если меню паузы, если нет - то это было необязательно), и сделать bool переменную, которая будет вкл\отк скрипт, если нажата кнопка "играть".Автор - игнат Дата добавления - 09 Дек 2013 в 22:33
kolan123 Дата: Пт, 03 Янв 2014, 23:22 | Сообщение # 48
Сообщений: 11
Награды:
0
Репутация:
0
Статус: Offline
а какая функция отвечает за разрешение экрана ?
Сообщение а какая функция отвечает за разрешение экрана ? Автор - kolan123 Дата добавления - 03 Янв 2014 в 23:22
Левша Дата: Сб, 04 Янв 2014, 00:28 | Сообщение # 49
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Screen.Resolution
X.cor.R (Prologue)
Сообщение Screen.Resolution Автор - Левша Дата добавления - 04 Янв 2014 в 00:28