我对团结有点新意,这是我第一次在这里创建一个帖子,所以也许我会问一个愚蠢的问题。
我正在创建一个使用react的网站,该网站的一部分有一个使用统一的游戏。 我遇到的问题是我正在使用这个webapplication的反应,当通过反应重新加载统一时会导致错误。
通常unity会通过unityloader.js文件加载一次。然而,每当某个反应竞争者被加载时,我的反应应用程序设置的方式这段代码会导致统一加载
componentWillMount() {
const script = document.createElement("script");
script.src = "Release/UnityLoader.js";
script.async = true;
document.body.appendChild(script);
}
第一次执行此操作时,一切正常,但当我重新访问包含此unitywebgl功能的页面时,统一崩溃,我收到以下错误。
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中是否可能有一些函数给它一个画布并手动要求它重新加载或我是否朝错误的方向前进?
答案 0 :(得分:1)
我在ReactJS应用程序中添加了Unity内容NPM module。基本实现可能看起来像;
import React from 'react';
import Unity from 'react-unity-webgl';
export class App extends React.Component {
render () {
return <Unity
src='Build/myGame.json'
loader='Build/UnityLoader.js' />
}
}