2016-03-22 14 views
0

Wir haben eine kleine Demo von Unity3D mit AirConsole-Plugin erstellt, die im Unity-Debugger läuft. (Wenn ich Play drücke, öffnet sich der Browser, manchmal funktioniert es, manchmal nicht. Wenn nicht, kann man Unity neu starten und dann funktioniert es.) Wenn wir ein Release oder einen Entwicklerbuild erstellen, tut es das nicht längere Arbeit. Es lädt das Bild korrekt, aber die Controller (virtual + phone) bleiben die meiste Zeit "loading". Manchmal erreichen sie die erste korrekte HTML-Seite, aber dann scheint die Nachricht, die sie senden, nicht auf der Bildschirmseite anzukommen. Wenn ich nach dem Build auf 'Exportierten Port öffnen' klicke, funktioniert es nicht, außer einmal.AirConsole Unity-Plugin - WebGL-Build funktioniert nicht, während der Unity-Debugger funktioniert

Eine Fehlermeldung bekam ich einmal: "Uncaught Typeerror: kann nicht lesen Eigenschaft 'postqueue' undefinierter"

Diese Fehlermeldung erscheint immer: „pre-main Vorbereitungszeit: 176 ms UnityLoader.js: 1 Module.printErr @ UnityLoader.js: 1 "

Wissen Sie, was diese Fehlermeldungen bedeuten?

+0

Die Uncaught Typeerror-Nachricht eine Codezeile in Ihrem Controller-Datei angeben sollten, die Sie das Problem finden könnte helfen. Abgesehen davon: Sind Sie sicher, dass Sie alles richtig importiert haben? – Alice

+0

Sie meinen den Import von Dateien in Unity? Ich gucke mal. === Details: VM192 UnityLoader.js: 3386 Pre-Hauptvorbereitungszeit: 94 msModule.printErr @ VM192 UnityLoader.js: 3386doRun @ Blob: http% 3A // 192.168.1.3% 3A7842/a1c4b233-2afc-4aaa -ba85-b9433253e5b5: 3646758 (anonyme Funktion) @blob: http% 3A // 192.168.1.3% 3A7842/a1c4b233-2afc-4aaa-ba85-b9433253e5b5: 3646770 VM192 UnityLoader.js: 3382PlayerConnection initialisiert von (debug = 0) –

+0

Was bedeutet dieser Fehler? 'UnityLoader.js: 1 Pre-Hauptvorbereitungszeit: 603 msModule.printErr @ UnityLoader.js: 1doRun @ blob: http% 3A // airconsole.septem.ch/056d3d86-5c6b-4b2b-812d-c299b85fbbd5: 36 (anonyme Funktion) @blob: http% 3A // airconsole.septem.ch/056d3d86-5c6b-4b2b-812d-c299b85fbbd5: 36 UnityLoader.js: 1 Initialisiere die Engine-Version: 5.3.3f1 (910d71450a97) ' –

Antwort

0

Ich habe viel versucht, aber das scheint das Problem zu lösen: Achten Sie darauf, die Ereignis-Listener in der Awake-Methode anzuhängen, wie in der grundlegenden Beispielanwendung.

public class AirConsoleService : MonoBehaviour 
{ 
    void Awake() 
    { 
     // register events 
     AirConsole.instance.onReady += OnReady; 
     AirConsole.instance.onMessage += OnMessage; 
     AirConsole.instance.onConnect += OnConnect; 
     AirConsole.instance.onDisconnect += OnDisconnect; 
     // etc. ... 
    } 
    // etc. ... 
} 

Mein Problem war, dass meine AirConsoleService war statisch und kein MonoBehaviour sicher sein, dass es nur eine Instanz von AirConsoleService ist. Es funktioniert perfekt für den Debug 'Play'-Modus, aber im Release-Build weiß die AirConsole irgendwie nicht die DeviceID, die die Nachricht gesendet hat (das heißt, wir erhalten -1 von der Methode ConvertDeviceIdToPlayerNumber. Und dies erklärt, warum die Controller dies nicht tun erhält kein Signal vom Bildschirm

Meine Lösung:. ich habe es als eine Komponente zum Objekt AirConsole angebracht

Weitere Hinweise:.

  • Anti-Virus Inhalte blockieren kann
  • . Ihr PC/Server muss schnell sein
  • Protokollieren Sie während der Entwicklung die Geräte-ID und die Player-ID sowie die aktuellen aktiven Geräte-IDs.
  • Oft starten Unity oder den integrierten Webserver des Plugins
Verwandte Themen