[英]Unity:Time.timescale =0 not working
我试图在用户第一次使用 playerpref 开始游戏并希望暂停游戏时显示播放器教程,我面临的问题是 Time.timescale=0 放置在开始时没有暂停游戏(显示 tutorialCanvas) ,但在被按钮(暂停按钮)调用时有效。
以下是我使用的代码
void Start()
{
if (PlayerPrefs.HasKey ("test4") ==false ) {
tutorialCanvas.SetActive (true);
Time.timeScale = 0;
}
}
Time.timeScale = 0
对我来说真的很混乱,所以我向您推荐的是,如果您只想暂停诸如暂停角色移动之类的操作,则可以这样尝试:
GameObject PlayerScript;
if(Input.GetKey(KeyCode.P)){
//lets disable the playermovement script only not the whole object
PlayerScript = GetComponent<PlayerMovement>().enabled = false;
}
我最近遇到了这个问题,虽然它只是在构建中进行,而不是在编辑器中进行。 将 timeScale 更改为 0.0001f 之类的值可以解决问题,但这不是一个很好的解决方案。 创建一个输入设置资产(在 Camera -> Player Input -> Open Input Settings 下)似乎已经为构建修复了它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.