【问题标题】:Unity 5.3.5f1 Crashes in play modeUnity 5.3.5f1 在播放模式下崩溃
【发布时间】:2016-06-07 17:59:53
【问题描述】:

我在这里面临一个大问题。我有一个代码,我在 start() 方法上使用 InvokeRepeating() 方法来跟踪我的“游戏时间”。每次单击播放按钮时,Unity 都会崩溃,我必须通过任务管理器完成应用程序!我真的不知道该怎么做,因为我没有收到来自控制台的消息或任何其他错误报告。谁能帮助我?我能做些什么来解决这个问题?谢谢。

【问题讨论】:

  • 您是否尝试过检查 Windows 应用程序日志?
  • 如果不查看您的代码,这将很难解决。真的很难。我给你的建议是从下面开始评论一些代码,看看它什么时候停止崩溃。
  • 我检查了我的代码,正如我所说,问题出在 InvokeRepeating() 函数上。每当我将其注释掉或删除时,问题就消失了。但这并不正确。作为标准的统一代码,它崩溃是没有意义的。它本质上是一个类似循环的函数。我知道我可以通过使用协程来做到这一点,但这似乎毫无意义,因为 C# 有一个专门的函数来做到这一点。很奇怪。

标签: c# unity3d crash


【解决方案1】:

如果您遇到无限循环,Unity 会执行此操作。

【讨论】:

  • 在monodevelop中添加breakpoint,调试是否是死循环。
  • 我检查了我的代码,正如我所说,问题出在 InvokeRepeating() 函数上。每当我将其注释掉或删除时,问题就消失了。但这并不正确。作为标准的统一代码,它崩溃是没有意义的。它本质上是一个类似循环的函数。我知道我可以通过使用协程来做到这一点,但这似乎毫无意义,因为 C# 有一个专门的函数来做到这一点。很奇怪。
  • 老实说,根据我的经验,Unity 的大多数循环控件都已移至自定义协程。就个人而言,我喜欢控制循环的内容,循环停止的时间等。但是,如果您阅读了您所说的内容。您删除 InvokeRepeating() 并且无限循环崩溃消失。毕竟,问题就在你眼前。 xP 如果您认为这确实是 Unity 错误而不是您的错误,请将其报告给 Unity。最好将“重复”的函数移至 IEnumerator。
  • “我知道我可以通过使用协程来做到这一点,但这似乎毫无意义,因为 C# 有一个专门的函数来做到这一点。” 真的吗?将其移至协程......
猜你喜欢
  • 2015-12-25
  • 2022-01-14
  • 1970-01-01
  • 2013-07-16
  • 2015-08-15
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
相关资源
最近更新 更多