Продолжить игру

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Продолжить игру

Сообщение egor 02 ноя 2012, 17:53

Подскажите что нужно добавить в скрипт чтобы при нажатии esc игра ост и при нажатии кнопки продолжить продолжалась.
вот скрипт
Синтаксис:
Используется javascript
 
 // Main Menu Script

 var window                                = 0;  
 var myFont      : Font;
 var style         : GUIStyle;
 var toggle                = false;  //тумблер
 var toggle1                = 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 - 140,200,220), "ГЛАВНОЕ МЕНЮ");  
   if (GUI.Button (Rect (Screen.width/2 - 90,Screen.height/2 - 80,180,30), "Новая игра"))  
  {  
   Application.LoadLevel (1);  
  }
  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 - 120,180,30), "Продолжить")) {
  }  
  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(GUI.Button (Rect (Screen.width/2 - 90,Screen.height/2 - 0,180,30), "Применить"))
   {
      if (toggle) 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 - 150,300,300), "Помощь");  
   GUI.Label (Rect (Screen.width/2 - 100,Screen.height/2 - 80,200,300), "  Цель игры:Выбирись из мрачного лабиринта! ", style); // текст  
   if (GUI.Button (Rect (Screen.width/2 - 90,Screen.height/2 + 40,180,30), "Назад") || Input.GetKey ("escape"))  
   {  
    window = 0;  
   }  
  }  
  }
   
 
 
egor
UNец
 
Сообщения: 47
Зарегистрирован: 13 окт 2012, 23:12

Re: Продолжить игру

Сообщение AMD 02 ноя 2012, 20:39

Думаю, стоит сделать перемнную типа bool меняющуюся при нажатии клавиши Escape

Синтаксис:
Используется csharp
        if (Input.GetKeyDown(KeyCode.Escape))
            _windowMenu = !_windowMenu;
 

И соответсвенно, если переменнуя true, то Time.timeScale приравнивать к нулю и иначе к единичке
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: Продолжить игру

Сообщение egor 02 ноя 2012, 21:19

я в скриптах плохо разбираюсь время при выходе в меню я смогу остановить но вот что нужно прицепить к кнопке продолжить чтобы при нажатии на нее игра возобновлялась если можете напишите по подробнее
egor
UNец
 
Сообщения: 47
Зарегистрирован: 13 окт 2012, 23:12

Re: Продолжить игру

Сообщение AMD 02 ноя 2012, 21:23

Если я правильно Вас понял, то у Вас есть гуи кнопка? Если так. то в скрипт надо бавить вот такой кусочек

Синтаксис:
Используется csharp
if(GUI.Button(rect,"next"))
{
_menuWindow = false;
Time.timeScale = 1f;
}
 
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: Продолжить игру

Сообщение egor 02 ноя 2012, 22:12

}
if (GUI.Button (Rect (Screen.width/2 - 90,Screen.height/2 - 120,180,30), "Продолжить"))
{
_menuWindow = false;
Time.timeScale = 1f;
}
}
так надо было или я ступил
egor
UNец
 
Сообщения: 47
Зарегистрирован: 13 окт 2012, 23:12

Re: Продолжить игру

Сообщение egor 02 ноя 2012, 22:28

как не пробывал не выходит
egor
UNец
 
Сообщения: 47
Зарегистрирован: 13 окт 2012, 23:12

Re: Продолжить игру

Сообщение AMD 02 ноя 2012, 22:38

Синтаксис:
Используется csharp
private bool _menuWindow = false;


void Update()
{
if(Input.GetKeyDown(KeyCode.Escape))
{
_menuWindow = true;
Time.timeScale = 0f;
}
}

void OnGUI()
{
if(_menuWindow)
menuWindow();
}

private void menuWindow()
{
GUI.Box(new Rect(0f,0f,Screen.width,Screen.height),"")
if(GUI.Button(new Rect(Screen.width*0.5f-50,Screen.height*0.5-15,100,30), "Smthg text")
{
Time.timeScale = 1f;
_menuWindow = false;
}
}
 



-----
Если, совсем тяжко пишите в личку, постараюсь помочь
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35