我正在使用Google's TurnBasedMultiplayer API
編寫多人遊戲,並調用takeTurn()
。我在遊戲中有三名玩家,除了正在呼叫takeTurn的玩家之外,我發現有一名玩家接收到更新並且onTurnBasedMatchReceived()
被正確調用,但另一名玩家沒有收到更新,未調用onTurnBasedMatchReceived()
。Android TurnBasedMultiplayer調用takeTurn()不會生成onTurnBasedMatchReceived()
有人可能會提供給我一個可能的原因並非所有玩家都收到更新嗎?我注意到沒有收到更新的玩家需要返回匹配收件箱並再次選擇相關的比賽,然後可以看到遊戲實際上已經更新。
如果你已經正確配置['OnTurnBasedMatchUpdatedReceivedListener'(HTTPS: //developer.android.com/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html),當你調用'takeTurn()'時,應該更新遊戲中的所有玩家並且更新匹配狀態。你可以分享一些代碼,瞭解你如何註冊這些監聽器,以及你如何調用'takeTurn()'?這可能會對您的具體問題有所瞭解。 – 2014-10-02 18:17:04
@Override public void onTurnBasedMatchReceived(TurnBasedMatch match){ \t Toast.makeText(this,「A match was updated。」,TOAST_DELAY).show(); \t \t updateMatch(match); } – 2014-10-07 22:53:36
Games.TurnBasedMultiplayer.takeTurn(getApiClient(),mMatch.getMatchId(), mTurnData.persist(),nextParticipantId).setResultCallback( 新ResultCallback(){ @Override 公共無效onResult (TurnBasedMultiplayer.UpdateMatchResult result){process_Result(result); } }); –
2014-10-07 22:57:21