2015-10-16 4 views
21

Hat jemand keine Erfahrung Reagieren Einheimische und Einheit zu kombinieren? Ich möchte ein Unity-Projekt starten, das sehr schwerfällig ist, und ich denke über die Verwendung von React Native nach, um die Vorteile seiner UI-Funktionen auf Mobilgeräten und im Web zu nutzen.Reagieren india mit Unity

Ich bin gespannt, was der Workflow für einen solchen Ansatz wäre.

+2

Du diese aus (erfolgreich ausprobiert hat)? – swalkner

+0

Ich bin neugierig auf das, auch! – leMale

Antwort

3

Ich bin mir nicht sicher, wie ein Unity-Spiel für iOS erstellt wird, wenn es Cocoa Touch zum Rendern seiner Hauptklassen verwendet.

Wenn dies der Fall ist und Sie einen UIViewController rendern können, können Sie Ihre React Native-Anwendung rendern. Sie müssen lediglich die Kommunikation zwischen den beiden Anwendungen einrichten.

Hier ist ein Beispiel für das Rendern einer nativen UI-Komponente in einer React Native App, die hilfreich sein kann. http://moduscreate.com/leverage-existing-ios-views-react-native-app/

7

Endlich nach einer Menge von Versuchen, dies zu tun. Dies sind die Schritte.

  • 1) Verwenden Sie link, exportieren Sie Android-Projekt für Gradle. Wählen Sie Gradle im Fenster Build-Einstellungen und aktivieren Sie das Kontrollkästchen Projekt exportieren. Klicken Sie auf Exportieren und wählen Sie den Zielordner aus.
  • 2) Importieren Sie den erzeugten Ordner in Android-Studio. Wählen Sie OK, wenn Sie dazu aufgefordert werden. In diesem Prozess begegnen Sie Fragen
  • 2a) Gradle Sync fehlgeschlagen aufgrund org.gradle.api.internal.tasks folgenden Fragen vorlegen. Lösen Sie mit diesem link
  • 3) Erstellen Sie native App Reagieren mit diesem link
  • 4) starten Integration Android exportierten Ordner innerhalb erstellt react native App dieses link verwenden. Aktualisieren Sie Gradle nicht, da das Android Studio Sie immer wieder fragt. Sie werden folgende Probleme auftreten. Gehen Sie nicht durch "Test Integration", bis Sie mit # 5 hier fertig sind.
  • 4a) Wenn Sie Maven konfigurieren, verwenden Sie diese URL für die Maven-URL "$ rootDir /../ node_modules/react-native/android".
  • 4b) Während Maven konfigurieren, wenn Sie Problem javax.inject Zusammenhang auftreten: javax.inject "Mit diesem link
  • 4c) Sie können sich auch dieser Fehler auftritt." Mit Abhängigkeits ‚com.google.code Konflikt. findbugs: jsr305 '". Sie können dies lösen link.
  • 4d) Während der Code Integration dieser Link, konzentrieren Sie sich auf den folgenden Abschnitt: Wenn Sie ein Starterkit für React Native verwenden, ersetzen Sie die Zeichenfolge" HelloWorld "mit der Eins in Ihrer Datei index.android.js (es ist das erste Argument der Methode AppRegistry.registerComponent(). Hier müssen Sie durch den Namen des Projekts ersetzen.
  • 5) Bevor Sie den Abschnitt "Testen Sie Ihre Integration" durchlaufen, Sie müssen Code hinzufügen, um MyReactActivity von UnityActivity aus aufzurufen. Diese link wird helfen.
  • 6) Gehen Sie durch "Testen Sie Ihre Integration" Abschnitt Link in # 4 zur Verfügung gestellt. Möglicherweise treten folgende Probleme auf.
  • 6a) nicht in der Lage Skript von Vermögenswerten index.android.bundle zu laden. Verwenden Sie diese link.
  • 6b) konnte nicht an Entwicklungsserver auf Android verbinden. Verwenden Sie diese link.
  • 0

    Ich war auch neugierig und schuf ein Beispielprojekt, wie man das für Android macht: https://github.com/marijnz/unity-react.

    Wenn dies ein gangbarer Weg ist, zumindest abhängig von:

    • Wie lange das Projekt ausgeführt werden soll, beide reagieren und Unity müssen aktualisiert werden, und dies wird wahrscheinlich härter im Laufe der Zeit.
    • Die Menge an sdk/die Abhängigkeiten hat das Projekt.
    • Wenn Sie iOS tun, als auch wollen.

    Im Allgemeinen würde ich wahrscheinlich diesen Weg vermeiden. Obwohl das Beispiel jetzt ziemlich einfach zu sein scheint, es war ein Schmerz, dass zu bekommen (wie Shaunak Antwort bereits andeutet;))