2017-07-18 3 views
0

Ich habe Probleme beim Laden einer Unity Datei in meinem React Projekt. Ich dachte, wenn ich die Datei in index.html hinzufügen würde ich in der Lage sein UnityLoader überall im Projekt zu verwenden, wie unten dargestellt:Unity-Datei in React-Projekt importieren

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> 
     ); 
    } 
} 

jedoch Ich bekomme eine Fehlermeldung, dass UnityLoader nicht definiert ist.

Muss ich irgendeine Art von

import { UnityLoader } from 'UnityLoader' 

in Unity.js benutzen? Das Problem ist, dass UnityLoader eine externe JS-Datei ist und nichts exportiert.

Antwort

1

Warum nicht React-Unity über npm installieren und dann in Ihre Komponente importieren?

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>) 
    } 
} 

Vergessen Sie nicht, einen Skript-Tag lädt die UnityLoader.js Datei exportiert von Unity in Ihrer Basis HTML-Datei hinzuzufügen.

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

Ich dachte darüber nach, aber war mir nicht sicher, wie zuverlässig es war. Aber ich denke, das macht am meisten Sinn. Danke – user2456977

+0

Ich hoffe es funktioniert. Es gibt ein weiteres Einheitsnpm-Paket. Aber ich glaube, das ist der Weg, um es zum Laufen zu bringen. – krankuba

+0

Ich habe Probleme mit dem zweiten Schritt, um den UnityLoader zu laden. Ich benutze Create-react-app und habe versucht, '