0

Unity デバッガーで動作する AirConsole プラグインを使用して、Unity3D の小さなデモを作成しました。(プレイを押すと、ブラウザーが開きます。動作する場合もあれば、動作しない場合もあります。動作しない場合は、Unity を再起動すると動作します。) リリースまたは開発者ビルドを作成すると、それ以上仕事。画像は正しく読み込まれますが、ほとんどの場合、コントローラー (仮想 + 電話) は「読み込み中」のままです。最初の正しい HTML ページに到達することもありますが、送信したメッセージが画面側に到達していないように見えます。ビルド後に [Open Exported Port] をクリックしても、1 回を除いて機能しません。

「Uncaught TypeError: Cannot read property 'postQueue' of undefined」というエラー メッセージが 1 つ表示されました。

次のエラー メッセージが常に表示されます。

これらのエラー メッセージの意味を知っていますか?

4

1 に答える 1

0

いろいろ試しましたが、これで問題は解決したようです。基本的なサンプル アプリケーションと同様に、Awake メソッドにイベント リスナを必ずアタッチしてください。

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

私の問題は、 myAirConsoleServiceが static であり、 のMonoBehaviourインスタンスが 1 つだけであることを確認することではないことでしたAirConsoleService。デバッグの「再生」モードでは完全に機能しますが、リリース ビルドでは、AirConsole はメッセージを送信した deviceID を何らかの形で認識していません (これは、 method から -1 を取得することを意味しますConvertDeviceIdToPlayerNumber。これは、コントローラーが取得しない理由を説明しています)。画面からの信号。

私の解決策: AirConsole オブジェクトにコンポーネントとしてアタッチしました。

その他の注意事項:

  • ウイルス対策によってコンテンツがブロックされる場合があります。
  • PC/サーバーは高速でなければなりません。
  • 開発中に、deviceID と playerID、および現在アクティブな deviceID をログに記録します。
  • Unity またはプラグインの統合 Web サーバーを頻繁に再起動します。
于 2016-04-21T22:37:39.023 に答える