Динамическое меню
|
|
SomeOneInTheMask | Дата: Четверг, 29 Августа 2013, 21:20 | Сообщение # 1 |
Stranger
Сейчас нет на сайте
| Этот скрипт автоматически выравняет кнопочки в меню, и Вам не придется рассчитывать координаты их. Нужно просто указать названия кнопок и названия функций, которые вызываются при их нажатии. И меню готово!
Код using UnityEngine; using System.Collections;
public class Menu : MonoBehaviour { public GUIStyle styleTopMenu; private string[] menuTitles={"Играть","Опции","Выход"}; // названия кнопок private string[] functionNames={"Play","Options","Exit"}; // названия функций, соответствующие кнопкам private int cntTitile; //количество кнопок private int cntParts; //на сколько частей мы делим экран без одной части void Start(){ cntTitile=menuTitles.Length; cntParts=((cntTitile+1)*3); } void OnGUI(){ GUI.Label(new Rect( //выводим заголовок Screen.width/4, Screen.height/cntParts, Screen.width/2, Screen.height*2/cntParts), "Меню",styleTopMenu); for(int cnt=0;cnt<cntTitile;cnt++){ //в цикле выводим кнопочки if(GUI.Button(new Rect( Screen.width/4, Screen.height*(cnt+1)*3/cntParts, Screen.width/2, Screen.height*2/cntParts), menuTitles[cnt])){ //проверка: не забыл ли пользователь указать функцию для какой нибудь кнопки if(functionNames.Length>cnt) SendMessage(functionNames[cnt]); //если все нормально то отправляем сообщение с названием функции else Debug.Log("Error! You'd forgotten add name of function!"); } } } //далее функции, и то что они делают private void Play(){ Application.LoadLevel(1); } private void Options(){ Application.LoadLevel(3); } private void Exit(){ Application.Quit(); } }
Если у кого есть какие-то идеи по улучшению скрипта, то пишите
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
Сообщение отредактировал SomeOneInTheMask - Пятница, 30 Августа 2013, 12:47 |
|
| |
JHawk | Дата: Пятница, 30 Августа 2013, 06:24 | Сообщение # 2 |
めゃくちゃちゃ
Сейчас нет на сайте
| SomeOneInTheMask, я делал меню с помощью GUI.Toolbar'a. Он сам создает кнопки, задает им размер и т.д. Reference если интересно
|
|
| |
SomeOneInTheMask | Дата: Пятница, 30 Августа 2013, 12:22 | Сообщение # 3 |
Stranger
Сейчас нет на сайте
| Цитата (JHawk) SomeOneInTheMask, я делал меню с помощью GUI.Toolbar'a. Он сам создает кнопки, задает им размер и т.д. Reference если интересно тоже вариант
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |
GameLoper | Дата: Пятница, 30 Августа 2013, 12:25 | Сообщение # 4 |
Нуб в гейм-деве
Сейчас нет на сайте
| Добавь комментарии, а то тут есть супер-нубы
Single of game tycoon = 10%
|
|
| |
SomeOneInTheMask | Дата: Пятница, 30 Августа 2013, 12:38 | Сообщение # 5 |
Stranger
Сейчас нет на сайте
| Цитата (GameLoper) Добавь комментарии, а то тут есть супер-нубы сейчас сделаю
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |
EchoIT | Дата: Пятница, 30 Августа 2013, 12:54 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| GameLoper, типа тебя?
А по теме - не очень полезная вещь.
Долгожданный анонсик: State of War
Сообщение отредактировал EchoIT - Пятница, 30 Августа 2013, 12:55 |
|
| |
GameLoper | Дата: Пятница, 30 Августа 2013, 12:57 | Сообщение # 7 |
Нуб в гейм-деве
Сейчас нет на сайте
| Цитата (EchoIT) типа тебя? dry я хоть нуб ,ну не до такой степени, в вторых ты меня знаешь?
Single of game tycoon = 10%
|
|
| |
SomeOneInTheMask | Дата: Пятница, 30 Августа 2013, 13:03 | Сообщение # 8 |
Stranger
Сейчас нет на сайте
| Цитата (EchoIT) А по теме - не очень полезная вещь. я специально уточнил в описании: "Для новичков может быть полезен"
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |
smoke_water | Дата: Среда, 11 Сентября 2013, 15:17 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| понадобится ))) спасибо автору
Час це вода.:)
|
|
| |
SomeOneInTheMask | Дата: Среда, 11 Сентября 2013, 21:34 | Сообщение # 10 |
Stranger
Сейчас нет на сайте
| Цитата (smoke_water) понадобится ))) спасибо автору cool Слава Богу)
Карта моего канала по созданию игр на Unity3d, можно даже заказать урок бесплатно)
|
|
| |