1

私はユニティに少し慣れていません。ここでスレッドを作成するのはこれが初めてなので、ばかげた質問をしているかもしれません。

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 にキャンバスを提供し、手動でリロードするように要求する関数があるのでしょうか、それとも間違った方向に向かっているのでしょうか?

4

1 に答える 1