2017-07-18 307 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