c# - 未在 Active 和 Enabled 游戏对象上调用 Unity WebGL 更新
问题描述
在 WebGL 构建中遇到一个奇怪的问题。该问题不会发生在编辑器中。我有多个游戏对象将在加载游戏几秒钟后停止调用它们的更新。
我知道对象存在,因为我可以从对象的浏览器控制台调用 gameInstance.SendMessage。我添加了一个调试方法,该方法打印对象是否处于活动状态并且它处于活动状态。它附加了脚本的组件,该组件已启用,该组件所在的游戏对象处于活动状态。我什至可以调用 SendMessage("MyObject", "Update") 它会调用一次更新方法,正确打印所有内容。
这个问题偶尔会发生一次。有时它不会在几个小时内发生,然后每隔一段时间就会发生一次。游戏没有冻结,我仍然在运行加载动画。
这听起来像是一种竞争条件,但我无法确定是什么导致 Unity 停止在活动游戏对象上调用“更新”。是否有人知道 Unity WebGL 中将停止调用 Update 的条件或错误?如果无限循环中有东西,那也会冻结加载动画吗?
虽然我不确定,因为这个错误很难重现,但这似乎只发生在 macOS 上的 webgl 构建上
目前使用 Unity 2017。
非常感谢任何帮助!
解决方案
推荐阅读
- sql - 如何在雪花中同时运行查询
- php - PHP不将数据库打印为表
- c# - 在 VSTO 插件中访问 Globals.ThisAddIn.Application 时出现异常
- asp.net-mvc - 如何以最快的方式获取数据到视图模型
- java - Java同步函数在回调时解锁
- linux - Google Cloud VM 上的主目录和 /usr/local 的文件系统和配额
- java - 无法在 IntelliJ IDEA 上运行测试
- django - 多对多关系列表在 Django 中使用复选框显示
- r - R Plotly:如何在水平方向的反向条形图中更改刻度文本的位置?
- php - PHP SQL STMT 选择多个 LIKE ?可能吗?