统一暂停

Kie*_*lay 2 c# unity-game-engine

我试图使用timeScale暂停一个游戏,并在暂停面板出现时将其设置为0,并在禁用面板时将其设置为1.我遇到的问题是,当我暂停时,面板上的按钮没有显示他们的动画,因为时间刻度为0.这周围有什么吗?或者我应该找到另一种方法来暂停而不使用时间刻度.任何帮助将不胜感激,谢谢.

Nev*_*ess 5

一种可能性是使用保持游戏状态Enum.例如,将枚举定义为:

enum GameState
{
    Started,
    Loading,
    Playing,
    Paused,
    Completed
}
Run Code Online (Sandbox Code Playgroud)

GameState在会话或任何易于访问的地方声明类型变量,然后比较:

if(currentGameState == GameState.Playing)
{
      // Play logic here
} 
Run Code Online (Sandbox Code Playgroud)


Uma*_*r M 5

在您的Animator组件中,找到Update Mode选项,然后选择Unscaled Time。像这样 :

使用非标度时间作为更新模式