Простое GUI меню.
shaman4d Дата: Вт, 31 Июл 2012, 21:21 | Сообщение # 21
Сообщений: 31
Награды:
0
Репутация:
0
Статус: Offline
Насчет скинов - на разные кнопки можно применять разные скины или скин для всех кнопок будет один?
http://blog.playnoread.com/ - Блог:Создание игр : Unity3d, Flash, HTML5, iOS, XNA
Сообщение Насчет скинов - на разные кнопки можно применять разные скины или скин для всех кнопок будет один? Автор - shaman4d Дата добавления - 31 Июл 2012 в 21:21
DadaJava Дата: Вт, 31 Июл 2012, 21:36 | Сообщение # 22
Сообщений: 44
Награды:
2
Репутация:
30
Статус: Offline
Скин назначается один и на все элементы GUI.
Сообщение Скин назначается один и на все элементы GUI. Автор - DadaJava Дата добавления - 31 Июл 2012 в 21:36
commandoby Дата: Вт, 31 Июл 2012, 21:40 | Сообщение # 23
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
shaman4d , хочешь на один, ставь на один, а хочешь - испльзуй на все.
Блог.
Сообщение shaman4d , хочешь на один, ставь на один, а хочешь - испльзуй на все.Автор - commandoby Дата добавления - 31 Июл 2012 в 21:40
Maxik Дата: Вт, 07 Авг 2012, 21:56 | Сообщение # 24
Сообщений: 23
Награды:
0
Репутация:
0
Статус: Offline
у меня только одна проблема, вместо русского текста выводит какие-то кракозяблы, что мне делать?
Сообщение у меня только одна проблема, вместо русского текста выводит какие-то кракозяблы, что мне делать? Автор - Maxik Дата добавления - 07 Авг 2012 в 21:56
Левша Дата: Вт, 07 Авг 2012, 23:02 | Сообщение # 25
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Преобразовать скрипт управляющий текстами в UTF 8
X.cor.R (Prologue)
Сообщение Преобразовать скрипт управляющий текстами в UTF 8 Автор - Левша Дата добавления - 07 Авг 2012 в 23:02
Maxik Дата: Ср, 08 Авг 2012, 16:08 | Сообщение # 26
Сообщений: 23
Награды:
0
Репутация:
0
Статус: Offline
а то как?
Сообщение а то как? Автор - Maxik Дата добавления - 08 Авг 2012 в 16:08
Левша Дата: Чт, 09 Авг 2012, 01:42 | Сообщение # 27
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
В своем редакторе скриптов, я например пользую Notepad++
X.cor.R (Prologue)
Сообщение В своем редакторе скриптов, я например пользую Notepad++ Автор - Левша Дата добавления - 09 Авг 2012 в 01:42
Maxik Дата: Чт, 09 Авг 2012, 17:53 | Сообщение # 28
Сообщений: 23
Награды:
0
Репутация:
0
Статус: Offline
Quote (commandoby )
Разрешение экрана Разрешение экрана можно сменить при помощи комманды: Code Screen.SetResolution (A, B, C); A - ширина. B - высота. С - полноэкранный или оконный.
и ещё одна проблемка, когда включён полноэкранный режим и есть Screen.SetResolution (A, B, C); экран начинает моргать, как избавится от этого?
Сообщение Quote (commandoby )
Разрешение экрана Разрешение экрана можно сменить при помощи комманды: Code Screen.SetResolution (A, B, C); A - ширина. B - высота. С - полноэкранный или оконный.
и ещё одна проблемка, когда включён полноэкранный режим и есть Screen.SetResolution (A, B, C); экран начинает моргать, как избавится от этого?Автор - Maxik Дата добавления - 09 Авг 2012 в 17:53
commandoby Дата: Чт, 09 Авг 2012, 18:43 | Сообщение # 29
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Maxik , команду "Screen.SetResolution" надо включать один раз (кнопкой).
Блог.
Сообщение Maxik , команду "Screen.SetResolution" надо включать один раз (кнопкой).Автор - commandoby Дата добавления - 09 Авг 2012 в 18:43
Maxik Дата: Чт, 09 Авг 2012, 21:01 | Сообщение # 30
Сообщений: 23
Награды:
0
Репутация:
0
Статус: Offline
а подскажите тогда как сделать кнопки ОК и ОТМЕНА.
Сообщение а подскажите тогда как сделать кнопки ОК и ОТМЕНА. Автор - Maxik Дата добавления - 09 Авг 2012 в 21:01
commandoby Дата: Чт, 09 Авг 2012, 22:06 | Сообщение # 31
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Maxik , в смысле ?
Блог.
Сообщение Maxik , в смысле ?Автор - commandoby Дата добавления - 09 Авг 2012 в 22:06
Левша Дата: Пт, 10 Авг 2012, 04:54 | Сообщение # 32
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Code
var fulSt : boolean; function OnMouseDown() { fulSt = !fulSt; ScrinResolutionChange(); } function ScrinResolutionChange () { if (fulSt) Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, true); if (!fulSt) Screen.SetResolution(800, 600, false); }
X.cor.R (Prologue)
Сообщение Code
var fulSt : boolean; function OnMouseDown() { fulSt = !fulSt; ScrinResolutionChange(); } function ScrinResolutionChange () { if (fulSt) Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, true); if (!fulSt) Screen.SetResolution(800, 600, false); }
Автор - Левша Дата добавления - 10 Авг 2012 в 04:54
Maxik Дата: Пт, 10 Авг 2012, 15:22 | Сообщение # 33
Сообщений: 23
Награды:
0
Репутация:
0
Статус: Offline
да, способ неплохой, но мне надо чтобы разрешение менялось в настройках игры.
Сообщение да, способ неплохой, но мне надо чтобы разрешение менялось в настройках игры. Автор - Maxik Дата добавления - 10 Авг 2012 в 15:22
Левша Дата: Пт, 10 Авг 2012, 17:05 | Сообщение # 34
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Quote (Maxik )
мне надо чтобы разрешение менялось в настройках игры.
Что то я связи не уловил... у меня такой код в меню (настройках игры)...
X.cor.R (Prologue)
Сообщение Quote (Maxik )
мне надо чтобы разрешение менялось в настройках игры.
Что то я связи не уловил... у меня такой код в меню (настройках игры)...Автор - Левша Дата добавления - 10 Авг 2012 в 17:05
commandoby Дата: Сб, 11 Авг 2012, 01:07 | Сообщение # 35
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
В моей игре, изменение разрешения выглядит примерно так: Code
//разрешение экрана if (option == 1) { if (GUI.Button (Rect (220,55,180,20), "640x480", buttonStyle)) { Screen.SetResolution (640, 480, am); } if (GUI.Button (Rect (220,80,180,20), "800x600", buttonStyle)) { Screen.SetResolution (800, 600, am); } if (GUI.Button (Rect (220,105,180,20), "1024x768", buttonStyle)) { Screen.SetResolution (1024, 768, am); } if (GUI.Button (Rect (220,130,180,20), "1152x864", buttonStyle)) { Screen.SetResolution (1152, 864, am); } if (GUI.Button (Rect (220,155,180,20), "1280x768", buttonStyle)) { Screen.SetResolution (1280, 768, am); } if (GUI.Button (Rect (220,180,180,20), "1280x800", buttonStyle)) { Screen.SetResolution (1280, 800, am); } if (GUI.Button (Rect (220,205,180,20), "1280x960", buttonStyle)) { Screen.SetResolution (1280, 960, am); } if (GUI.Button (Rect (220,230,180,20), "1280x1024", buttonStyle)) { Screen.SetResolution (1280, 1024, am); } if (GUI.Button (Rect (220,255,180,20), "1360x768", buttonStyle)) { Screen.SetResolution (1360, 768, am); } if (GUI.Button (Rect (220,280,180,20), "1366x768", buttonStyle)) { Screen.SetResolution (1366, 768, am); } if (GUI.Button (Rect (220,305,180,20), "1440x900", buttonStyle)) { Screen.SetResolution (1440, 900, am); } if (GUI.Button (Rect (220,330,180,20), "1600x900", buttonStyle)) { Screen.SetResolution (1600, 900, am); } if (GUI.Button (Rect (220,355,180,20), "1600x1200", buttonStyle)) { Screen.SetResolution (1600, 1200, am); } am = GUI.Toggle (Rect (220,380,180,20), am, "На весь экран", toggleStyle); }
Блог.
Сообщение отредактировал commandoby - Сб, 11 Авг 2012, 01:09
Сообщение В моей игре, изменение разрешения выглядит примерно так: Code
//разрешение экрана if (option == 1) { if (GUI.Button (Rect (220,55,180,20), "640x480", buttonStyle)) { Screen.SetResolution (640, 480, am); } if (GUI.Button (Rect (220,80,180,20), "800x600", buttonStyle)) { Screen.SetResolution (800, 600, am); } if (GUI.Button (Rect (220,105,180,20), "1024x768", buttonStyle)) { Screen.SetResolution (1024, 768, am); } if (GUI.Button (Rect (220,130,180,20), "1152x864", buttonStyle)) { Screen.SetResolution (1152, 864, am); } if (GUI.Button (Rect (220,155,180,20), "1280x768", buttonStyle)) { Screen.SetResolution (1280, 768, am); } if (GUI.Button (Rect (220,180,180,20), "1280x800", buttonStyle)) { Screen.SetResolution (1280, 800, am); } if (GUI.Button (Rect (220,205,180,20), "1280x960", buttonStyle)) { Screen.SetResolution (1280, 960, am); } if (GUI.Button (Rect (220,230,180,20), "1280x1024", buttonStyle)) { Screen.SetResolution (1280, 1024, am); } if (GUI.Button (Rect (220,255,180,20), "1360x768", buttonStyle)) { Screen.SetResolution (1360, 768, am); } if (GUI.Button (Rect (220,280,180,20), "1366x768", buttonStyle)) { Screen.SetResolution (1366, 768, am); } if (GUI.Button (Rect (220,305,180,20), "1440x900", buttonStyle)) { Screen.SetResolution (1440, 900, am); } if (GUI.Button (Rect (220,330,180,20), "1600x900", buttonStyle)) { Screen.SetResolution (1600, 900, am); } if (GUI.Button (Rect (220,355,180,20), "1600x1200", buttonStyle)) { Screen.SetResolution (1600, 1200, am); } am = GUI.Toggle (Rect (220,380,180,20), am, "На весь экран", toggleStyle); }
Автор - commandoby Дата добавления - 11 Авг 2012 в 01:07
seaman Дата: Сб, 11 Авг 2012, 12:07 | Сообщение # 36
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Плохое решение. А если система не поддерживает какое то разрешение? Почему не используем то, что предоставляет Юнити? Screen.resolutions
Сообщение Плохое решение. А если система не поддерживает какое то разрешение? Почему не используем то, что предоставляет Юнити? Screen.resolutions Автор - seaman Дата добавления - 11 Авг 2012 в 12:07
commandoby Дата: Сб, 11 Авг 2012, 12:23 | Сообщение # 37
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
seaman , я проверял на своём ноутбуке и если указать очень высокое, то игра переходит на максимальное поддерживаемое.Добавлено (11.08.2012, 12:23) --------------------------------------------- Да и никто не жаловался.
Блог.
Сообщение seaman , я проверял на своём ноутбуке и если указать очень высокое, то игра переходит на максимальное поддерживаемое.Добавлено (11.08.2012, 12:23) --------------------------------------------- Да и никто не жаловался.
Автор - commandoby Дата добавления - 11 Авг 2012 в 12:23
seaman Дата: Сб, 11 Авг 2012, 18:56 | Сообщение # 38
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Сейчас переходит - завтра вылетать станет.
Сообщение Сейчас переходит - завтра вылетать станет. Автор - seaman Дата добавления - 11 Авг 2012 в 18:56
commandoby Дата: Сб, 11 Авг 2012, 19:41 | Сообщение # 39
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
seaman , ну... Поживём - увидим.
Блог.
Сообщение seaman , ну... Поживём - увидим.Автор - commandoby Дата добавления - 11 Авг 2012 в 19:41
alexchromets Дата: Пт, 28 Сен 2012, 19:41 | Сообщение # 40
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
Я что-то так и не понял, как с помощью горизонтального слайдера изменить громкость звуков в приложении и с фулскрином не совсем понял. Когда тумблер стоит ставится true, становится фулскрин, но экран жутко мигает, а когда галочку снимаю, то все становится назад без проблем.
Code
// Main Menu Script var window = 0; var myFont : Font; var style : GUIStyle; var toggle = false; //тумблер var sider : int = 0; // горизонтальный ползунок static var resolutions : Resolution[]; // function Start() { Screen.SetResolution (800, 600, false); }; function OnGUI () { 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); //горизонтальный //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, 19:50
Сообщение Я что-то так и не понял, как с помощью горизонтального слайдера изменить громкость звуков в приложении и с фулскрином не совсем понял. Когда тумблер стоит ставится true, становится фулскрин, но экран жутко мигает, а когда галочку снимаю, то все становится назад без проблем.
Code
// Main Menu Script var window = 0; var myFont : Font; var style : GUIStyle; var toggle = false; //тумблер var sider : int = 0; // горизонтальный ползунок static var resolutions : Resolution[]; // function Start() { Screen.SetResolution (800, 600, false); }; function OnGUI () { 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); //горизонтальный //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 в 19:41