首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么“never返回新的WaitForEndOfFrame()”从不在批处理模式中返回?

为什么“never返回新的WaitForEndOfFrame()”从不在批处理模式中返回?
EN

Stack Overflow用户
提问于 2016-03-01 06:53:17
回答 2查看 1.3K关注 0票数 7

我试图通过使用统一测试工具包来编写集成测试。

测试在编辑器中无问题地运行(在播放模式下)。

但是,当我试图从命令行(在批处理模式下)运行集成测试时,WaitForEndOfFrame协同器永远不会返回。

这是已知的问题还是我遗漏了什么?

我使用下面的命令来运行测试:

代码语言:javascript
复制
 /Applications/Unity-5.3.1-f1/Unity.app/Contents/MacOS/Unity \
  -batchmode \
  -nographics \
  -logfile \
  -projectPath $(pwd) \
  -executeMethod UnityTest.Batch.RunIntegrationTests \
  -testscenes=TestScene \
  -resultsFileDirectory=$(pwd)
EN

回答 2

Stack Overflow用户

发布于 2019-08-23 23:59:28

在批处理模式下,统一不更新编辑器中的框架。从他们的文档

  • 在使用WaitForEndOfFrame运行编辑器时,不能使用-batchmode,因为动画、物理和时间线等系统在编辑器中可能无法正常工作。这是因为联合目前没有在使用WaitForEndOfFrame时更新这些系统。
票数 1
EN

Stack Overflow用户

发布于 2016-03-01 22:09:58

如果您使用的是C#,它将无法工作。如果你使用JS,它会的。对于C#,您需要为此使用Coroutine,IEnumerable。

同样的屈服要求时间,WaitForSeconds等。他们不支持C#的屈服,因为Mono Unity3d只运行在MainThread上,不能屈服,因为你会得到应用程序没有响应。另一方面,当JS工作时,它并不是完全停止调用,而是停止自己的脚本。这就是为什么为C#添加invoke方法是为了延迟。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35716477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档