当前位置:   article > 正文

unity游戏云化后,暂停后游戏会继续执行问题解决_unity 暂停时间后还会转

unity 暂停时间后还会转

问题:云化后点击暂停后可以暂停,但是暂停界面后的游戏主场景仍然在执行

解决这个问题首先要了解下如何暂停游戏:

  1. Time.timeScale
  2. public static float timeScale ;
  3. // 时间流逝的标度。可用于慢动作效果。
  4. // 当 timeScale 为 1.0 时,时间流逝的速度与实时一样快。 当 timeScale 为 0.5 时,时间流逝的速度比实时慢 2x。
  5. // 当 timeScale 设置为 0 时,如果您的所有函数都是独立于帧率的, 则游戏基本上处于暂停状态。
  6. // timeScale 影响 Time 类的所有时间和增量时间测量变量(但 realtimeSinceStartup 和 fixedDeltaTime 除外)。
  7. // 如果您减小了 /timeScale/,建议也将 Time.fixedDeltaTime 减小相同的量。
  8. // 当 timeScale 设置为 0 时,不会调用 FixedUpdate 函数。

以上是官方的解释,也就是我们可以使用Time.timeScale=0来暂停游戏,但是云化后的游戏是变成了视频流,传输需要时间,在用户按下暂停键的一刻,如果先执行弹出暂停界面的代码,后执行Time.timeScale=0,那么就有可能造成主场景的游戏无法暂停,继续执行1-2秒

解决办法:

      修改前代码

  1. objPauseView.SetActive(true);
  2. Time.timeScale = 0;

     修改后代码

  1. Time.timeScale = 0;
  2. objPauseView.SetActive(true);

以上,问题解决~

这里再扩展一下unity中继续,重新开始,退出等相关代码

继续游戏:

Time.timeScale = 1;

重新开始:

SceneManager.LoadScene (screenIndex);

注释:screenIndex为游戏场景的索引号

退出游戏(这样游戏app会直接杀掉,建议弹窗后执行):

Application.Quit();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/633403
推荐阅读
相关标签
  

闽ICP备14008679号