Unity 和 onGameReady 未定义

Posted

技术标签:

【中文标题】Unity 和 onGameReady 未定义【英文标题】:Unity and onGameReady not defined 【发布时间】:2015-09-30 20:13:00 【问题描述】:

这是基于 github 的 Air Console 演示。

我编译了 web 的“基本”示例(没有改动),并在本地设置它,并使用网站上的 Simlulator 语法运行。

控制器正确加载,但屏幕没有。

运行时有几个错误:

(program):1 Uncaught SecurityError: Blocked a frame with origin "http://MACHINENAME" from accessing a frame with origin "http://www.airconsole.com". Protocols, domains, and ports must match.

还有:

exception thrown: ReferenceError: onGameReady is not defined,ReferenceError: onGameReady is not defined
    at eval (eval at _JS_Eval_EvalJS (http://MACHINENAME/unity/Release/build-webgl.js:1:156420), <anonymous>:1:1)
    at eval (native)
    at _JS_Eval_EvalJS (http://MACHINENAME/unity/Release/build-webgl.js:1:156420)
    at Array.WRb (http://MACHINENAME/unity/Release/build-webgl.js:16:784695)
    at YKk (http://MACHINENAME/unity/Release/build-webgl.js:7:594173)
    at WKk (http://MACHINENAME/unity/Release/build-webgl.js:7:593680)
    at Array.Rpf (http://MACHINENAME/unity/Release/build-webgl.js:9:667389)
    at Array.Lwm (http://MACHINENAME/unity/Release/build-webgl.js:8:87554)
    at Object.zIn [as dynCall_iiii] (http://MACHINENAME/unity/Release/build-webgl.js:29:39143)
    at invoke_iiii (http://MACHINENAME/unity/Release/build-webgl.js:1:356104)Module.printErr @ screen.html:34
UnityConfig.js:76 Invoking error handler due to
Uncaught ReferenceError: onGameReady is not defined

【问题讨论】:

我猜你浏览器的某些安全设置会阻止通信,这会阻止加载并导致这些错误 看起来我选择了默认的 webgl 模板,这导致了问题。切换到 Air Console 后,它就可以工作了。不过,我确实需要在重新加载时清除缓存。 【参考方案1】:

OnGameReady 方法在 Unity 插件中包含的 WebGL Templates 文件夹中定义。 确保将整个 WebGL Templates 文件夹导入并保留在您的项目中。

【讨论】:

以上是关于Unity 和 onGameReady 未定义的主要内容,如果未能解决你的问题,请参考以下文章

检查jQuery中的未定义和空值

未捕获的引用错误,未定义通知

无法读取未定义和未处理的承诺拒绝的属性“捕获”

具有未定义和空值的排序对象数组

试图用 jest 测试我的巢 api,返回未定义

在 Visual Studio 中未定义 UNITY_EDITOR