1

リアルタイム マルチプレイヤー ゲームに Google Play ゲーム サービスを使用していますが、com.google.example.games.basegameutils.BaseGameActivity を拡張しない別のアクティビティからリアルタイム メッセージをブロードキャストできません。

BaseGameActivity を拡張するアクティビティ (MainActivity) は、Andengine を使用する他のアクティビティ (RaceActivity) から使用する静的インスタンスを取得しました。最初に MainActivity をインスタンス化し、すべてのプレイヤーの準備が整ったら RaceActivity を開始します。次に、RaceActivity で、メッセージをブロードキャストする MainActivity から静的関数を呼び出しますが、次の例外が発生します。

06-02 14:55:04.585: E/AndroidRuntime(7961): FATAL EXCEPTION: UpdateThread
06-02 14:55:04.585: E/AndroidRuntime(7961): java.lang.IllegalStateException: Failed to send message, real-time match service is not connected.
06-02 14:55:04.585: E/AndroidRuntime(7961):     at android.os.Parcel.readException(Parcel.java:1433)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at android.os.Parcel.readException(Parcel.java:1379)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.internal.bm$a$a.a(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.internal.bj.sendReliableRealTimeMessage(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.games.GamesClient.sendReliableRealTimeMessage(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.MainActivity.broadcastMessage(MainActivity.java:371)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.readyUp(GameScene.java:95)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.createScene(GameScene.java:42)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.BaseScene.<init>(BaseScene.java:39)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.<init>(GameScene.java:25)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.SceneManager$1.onTimePassed(SceneManager.java:109)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.handler.timer.TimerHandler.onUpdate(TimerHandler.java:98)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.handler.UpdateHandlerList.onUpdate(UpdateHandlerList.java:47)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onUpdateUpdateHandlers(Engine.java:597)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onUpdate(Engine.java:585)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onTickUpdate(Engine.java:548)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820)

リアルタイムマッチサービスって一体何なのか誰か知ってる?グーグルで検索しても出てこない…

4

1 に答える 1

1

最後に、andengine フォーラムのこの投稿のおかげで、Andengine の BaseGameActivity と Google の BaseGameUtils の両方をマージすることができました。

GamesClient クラスの機能は、それを宣言したアクティビティ内でのみ使用できると思います...

于 2013-06-03T03:20:49.197 に答える