Среда, 17 Июля 2019, 15:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы с паузой.
Проблемы с паузой.
mkarovДата: Воскресенье, 06 Января 2019, 10:16 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всё работает хорошо, но со второго раза, когда я вхожу из меню на уровень, он почему-то уже на паузе. И только когда я 2 раза нажму на Esc, всё начинает работать. Помогите пожалуйста решить проблему, заранее спасибо.

Скрипт прикрепил к игроку.
using UnityEngine;
using System.Collections;

public class PauseEsc : MonoBehaviour {
public bool paused;
public GameObject canvas;
// Use this for initialization
void Start () {
paused = false;
}

// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.Escape)) {
if (!paused) {
Time.timeScale = 0;
paused = true;
canvas.SetActive (true);
} else {
Time.timeScale = 1;
paused = false;
canvas.SetActive (false);
}
}
}
}
IrbisДата: Воскресенье, 06 Января 2019, 12:11 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Потому что вы выставляете timeScale в 0, но при выходе с уровня в меню или при входе на уровень не выставляете его обратно, только сбрасываете флаг paused (что кстати делать не обязательно он так и так false, если конечно не меняли вручную в инспекторе).
Добавьте в Start()
Код
Time.timeScale = 1;

если по умолчанию канвас активен то еще и
Код
canvas.SetActive(false);

Но судя по тому, что при первом входе все нормально, канвас изначально не активен)


Сообщение отредактировал Irbis - Воскресенье, 06 Января 2019, 12:25
mkarovДата: Воскресенье, 06 Января 2019, 18:13 | Сообщение # 3
был не раз
Сейчас нет на сайте
Теперь когда входишь на уровень всё в порядке но пауза срабатывает только со второго раза.
IrbisДата: Воскресенье, 06 Января 2019, 19:27 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Если убрали из Start()
Код
paused = false;
значит paused по умолчанию выставлена в редакторе в true.
Если не убирали показывайте код, что-то неправильно написано.


Сообщение отредактировал Irbis - Воскресенье, 06 Января 2019, 19:31
drcrackДата: Воскресенье, 06 Января 2019, 19:33 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата
Скрипт прикрепил к игроку.

В таком случае Start вызывается 1 раз при старте игры, а не при каждом входе на уровень


Dynamic GPU Occlusion Culling for Unity

Сообщение отредактировал drcrack - Воскресенье, 06 Января 2019, 19:34
mkarovДата: Воскресенье, 06 Января 2019, 21:13 | Сообщение # 6
был не раз
Сейчас нет на сайте
Спасибо большое! Всё заработало.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы с паузой.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг