我对统一有点陌生,这是我第一次在这里创建一个线程,所以也许我在问一个愚蠢的问题。
我正在使用 react 创建一个网站,并且该网站的一部分有一个使用统一的游戏。我遇到的问题是我正在为这个web应用程序使用react,当通过react重新加载unity时会导致错误。
通常 unity 只被 unityloader.js 文件加载一次。但是,每次加载某个反应组件时,我都设置反应应用程序的方式,这段代码会导致统一加载
componentWillMount() {
const script = document.createElement("script");
script.src = "Release/UnityLoader.js";
script.async = true;
document.body.appendChild(script);
}
我第一次执行此加载时一切正常,但是当我重新访问包含此 unitywebgl 组件的页面时,unity 崩溃并且我收到以下错误。
Uncaught TypeError: Cannot read property 'apply' of undefined
at Object.dynCall (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1)
at Object.handlerFunc (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1)
at jsEventHandler (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1)
也许我做错了什么,我正在使用一些奇怪的方式来初始化统一。然而,对于这个 web 应用程序来说,经常初始化和重新加载统一是很重要的。unityloader.js 中是否有一些功能可以给它一个画布并手动要求它重新加载,或者我是否朝着错误的方向前进?