【发布时间】:2017-08-31 10:12:37
【问题描述】:
我只是犯了一个愚蠢的错误,在 void Update() 内部而不是写 if(var) 我写了 while(var) 并且 var 在 while 内部从未被修改过,所以我最终在我的 @ 中编写了一个无限循环987654326@
故事本身并不重要。重要的是我无法停止播放模式。实际上,在我重新启动之前,我无法使用 Unity 做任何其他事情。
所以我的问题是,有人知道如何优雅地停止 Unity 中的播放模式吗?是否有任何快捷方式或某些代码行来强制超时?
我知道最好的方法是避免无限循环,但有些东西你可能会犯一个愚蠢的错字。
额外说明:我一直在寻找解决这个问题的方法,很遗憾没有成功。但是,我找到了解决此问题的副作用的方法。当您按下 ctrl-alt-del 时,您可以释放场景中尚未保存的所有内容(这可能需要数小时的工作)。
所以当你点击播放时 Unity 会自动保存,并且场景备份在 Temp folder 中,只要你在强制退出后没有再次运行 Unity。
【问题讨论】:
-
你不能来自 Unity 本身。发生这种情况时,您必须从任务管理器中杀死 Unity。发布导致该问题的代码,您可能会得到答案。
-
感谢您的回答。实际上我自己发现了问题,正如我在问题中所说的那样,我写了一个 while() 而不是 if() 用于测试的东西我一直保持真实。
-
我自己从来没有用过,但是有一个(付费的)asset on the store 在这种情况下阻止 Unity。