Странно неработающий скрипт.
|
|
Georgiy0912 | Дата: Пятница, 29 Июня 2012, 15:22 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Написал скрипт для пауз-меню, но он просто не работает! Пробовал применить его и на Player, и на MainCamera и на EmptyObject, но он просто не работает!
using UnityEngine; using System.Collections;
public class PauseMenu : MonoBehaviour { bool paused = false; void Start () { } void Update () { if(Input.GetKeyUp(KeyCode.F)){ if(!paused){ Time.timeScale = 0; paused = true; Debug.Log("Paused"); } } else{ Time.timeScale = 1; paused = false; } } }
Интересно то, что Debug.Log("Paused") работает, следовательно не работает не скрипт, а timeScale!
|
|
| |
romgerman | Дата: Пятница, 29 Июня 2012, 15:23 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| У меня, например такой скрипт: Code private var pmenu : boolean = false;
function Start () { Screen.showCursor = false; //Убираем курсор Screen.lockCursor = true; //Лочим его }
function Update () {
if (Input.GetKeyDown(KeyCode.Escape)) { // Если нажата кнопка Escape if(!pmenu) { Time.timeScale = 0; // Останавливаем время pmenu=true; // Активируем паузу Screen.showCursor = true; // Показываем курсор Screen.lockCursor = false; // Свободный курсор GameObject.Find("First Person Controller").GetComponent("MouseLook").enabled = false; //Отключаем всякие контроллеры GameObject.Find("Main Camera").GetComponent("MouseLook").enabled = false; //Отключаем всякие контроллеры GameObject.Find("Barrel").GetComponent("Shooter").enabled = false; //Отключаем стрельбу } } } function OnGUI () { if(pmenu==true) { // Делаем группу посреди экрана GUI.BeginGroup (Rect (Screen.width / 2 - 60, Screen.height / 2 - 70, 120, 140));
// Создаём box и кнопки GUI.Box (Rect (0,0,120,140), "Pause"); if(GUI.Button (Rect (10,20,80,30), "Resume")) { Time.timeScale = 1; // Запускаем время pmenu=false; // Убираем паузу Screen.showCursor = false; // Скрываем курсор Screen.lockCursor = true; // По середине экрана GameObject.Find("First Person Controller").GetComponent("MouseLook").enabled = true; //Включаем всякие контроллеры GameObject.Find("Main Camera").GetComponent("MouseLook").enabled = true; //Включаем всякие контроллеры GameObject.Find("Barrel").GetComponent("Shooter").enabled = true; //Включаем стрельбу } GUI.Button (Rect (10,60,80,30), "Options"); GUI.Button (Rect (10,100,100,30), "Back to menu");
// Группа заканчивается, это важно! GUI.EndGroup (); } }
Сообщение отредактировал romgerman - Пятница, 29 Июня 2012, 15:24 |
|
| |
Georgiy0912 | Дата: Пятница, 29 Июня 2012, 16:18 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| romgerman, спасибо, но мне больше интересно почему не работает мой скрипт.
|
|
| |
seaman | Дата: Пятница, 29 Июня 2012, 16:55 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| А как Вы определили, что он не работает?
|
|
| |
Georgiy0912 | Дата: Пятница, 29 Июня 2012, 17:14 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Quote (seaman) А как Вы определили, что он не работает? Если быть точнее, то не работает не скрипт, а Time.timeScale, так, как Debug.log в этом же скрипте работает (Я это уже писал выше). Определил, проверив на игре (как ещё?).
|
|
| |
seaman | Дата: Пятница, 29 Июня 2012, 18:22 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Quote Определил, проверив на игре (как ещё?). Т.е. в Вашей игре при перемещениях и т.п. манипуляциях используется Time.deltatime? Вы уверены?
|
|
| |
Левша | Дата: Суббота, 30 Июня 2012, 15:33 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| Quote (Georgiy0912) Написал скрипт для пауз-меню, но он просто не работает! Не будет работать, смотри внимательней что ты написал, у тебя оба условия за один проход срабатывают (if & else)... Вот так будет работать: Code using UnityEngine; using System.Collections; public class PauseMenu : MonoBehaviour {
bool paused = false;
void Update () { if(Input.GetKeyUp(KeyCode.F)) paused = !paused; if(!paused) Time.timeScale = 0; else Time.timeScale = 1; } }
Quote (Georgiy0912) Интересно то, что Debug.Log("Paused") работает, следовательно не работает не скрипт, а timeScale! Пауза включаеться, пишет в лог что все норм и тут же выключаеться.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Суббота, 30 Июня 2012, 16:27 |
|
| |
Georgiy0912 | Дата: Суббота, 30 Июня 2012, 17:49 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Левша, точно, точно! Моя не внимательность
|
|
| |
FORFUN | Дата: Понедельник, 09 Июля 2012, 18:17 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| Georgiy0912, Этот скрипт есть в статьях... ---- тебе
- создавай то, что нравится тебе. [MIND++] - будь выше и умнее.
|
|
| |