2017-07-18 309 views
0

我無法在我的React項目中加載Unity文件。我想如果我在index.html添加的文件,我將能夠在項目中使用UnityLoader任何地方,如下圖所示:在React項目中導入Unity文件

的index.html

<!doctype html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <title>Game</title> 
    </head> 
    <body> 
    <div id="app"> 
    </div> 
    <script src="UnityLoader.js"></script> 
    </body> 
</html> 

Unity.js

class Unity extends Component { 

    render() { 
     return (
      <div id="unity"> 
       {UnityLoader.instantiate('unity', 'unity/index.html')} 
      </div> 
     ); 
    } 
} 

然而,我收到一個錯誤,說UnityLoader是未定義的。

我需要使用某種形式的

import { UnityLoader } from 'UnityLoader' 

Unity.js?問題是UnityLoader是一個外部的JS文件,不會導出任何東西。

回答

1

爲什麼不通過npm安裝React-Unity然後將其導入到組件中?

import React, { Component } from 'react'; 
import { Unity } from 'react-unity-webgl'; 


export class App extends Component { 
    render() { 
    return (<div className="app"> 
     <Unity src="Build/myGame.json" /> 
     </div>) 
    } 
} 

不要忘了添加腳本標籤加載UnityLoader.js文件,通過團結在你的基地HTML文件導出。

<script src="build_unity/Build/UnityLoader.js"></script> 
<script src="compiled/bundle.js"></script> 
+0

我想過了,但不知道它有多可靠。但我想這是最有意義的。謝謝 – user2456977

+0

我希望它的作品。還有另一個統一的npm包。但我相信這是讓它工作的方法。 – krankuba

+0

我在加載UnityLoader的第二步時遇到問題。我正在使用Create-react-app並嘗試向public/index.html添加''但是這可能是錯誤的文件?既然它仍然說:'React-Unity-Webgl error: UnityLoader沒有定義......我也試圖在.js文件中做一個常規的'import「relativePathToUnityLoader」;',這反而給了我''webAssembly'沒有定義,意外的使用屏幕'等等 – Aidin