2015-07-30 3 views
0

Я пытаюсь приостановить игру в единстве с помощью timeScale и установить ее на 0, когда панель паузы появится и вернется к 1, когда панель отключена. Проблема, с которой я сталкиваюсь, заключается в том, что когда i Pause, кнопки на панели не показывают свою анимацию, так как временной масштаб равен 0. В любом случае, вокруг этого? Или я должен найти другой способ сделать паузу без использования шкалы времени. Любая помощь будет оценена, спасибо.Приостановление в единстве

ответ

5

Возможность поддерживать состояние вашей игры с использованием Enum. например, определить перечисление как:

enum GameState 
{ 
    Started, 
    Loading, 
    Playing, 
    Paused, 
    Completed 
} 

Объявляет переменную типа GameState в сеансе или в любом месте, где доступ легко к вам, а затем сравните:

if(currentGameState == GameState.Playing) 
{ 
     // Play logic here 
} 
+0

Спасибо, я постараюсь это как можно скорее. –

1

Чтобы устранить проблему анимации. Просто запустите анимацию в немасштабированном времени. Таким образом, анимация воспроизводится, даже если Time.timeScale равен 0. Вы можете сделать это, установив режим обновления аниматора на «Непрозрачное время».

1

В вашем компоненте взгляд Аниматор для Mode Update опции и выберите Немасштабируемого Время. Как это:

Use Unscaled Time as Update Mode