私はユニティに少し慣れていません。ここでスレッドを作成するのはこれが初めてなので、ばかげた質問をしているかもしれません。
React を使用して Web サイトを作成していますが、この Web サイトの一部に unity を使用するゲームがあります。私が抱えている問題は、この webapplication に react を使用しているため、unity が react によってリロードされるとエラーが発生することです。
通常、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 アプリケーションでは、Unity を頻繁に初期化してリロードすることが重要です。unityloader.js にキャンバスを提供し、手動でリロードするように要求する関数があるのでしょうか、それとも間違った方向に向かっているのでしょうか?