Android 如何在Google play services中完成一个2人回合的游戏?
这是我的finishTurnBasedGame()函数,当第二个玩家玩完他的回合时,我正在运行该函数Android 如何在Google play services中完成一个2人回合的游戏?,android,google-play-services,Android,Google Play Services,这是我的finishTurnBasedGame()函数,当第二个玩家玩完他的回合时,我正在运行该函数 public void finishTurnBasedGame(TurnBasedMatch mMatch){ showSpinner(); Games.TurnBasedMultiplayer.finishMatch(mHelper.getApiClient(), mMatch.getMatchId()) .se
public void finishTurnBasedGame(TurnBasedMatch mMatch){
showSpinner();
Games.TurnBasedMultiplayer.finishMatch(mHelper.getApiClient(), mMatch.getMatchId())
.setResultCallback(new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() {
@Override
public void onResult(TurnBasedMultiplayer.UpdateMatchResult result) {
processResult(result);
}
});
isTurnBasedGameComplete = false;
isDoingTurn = false;
setViewVisibility();
}
public void finishTurnBasedGame(TurnBasedMatch mMatch){
showSpinner();
Games.TurnBasedMultiplayer.finishMatch(mHelper.getApiClient(),mMatch.getMatchId())
.setResultCallback(新的ResultCallback(){
@凌驾
public void onResult(TurnBasedMultiplayer.UpdateMatchResult结果){
处理结果(result);
}
});
isTurnBasedGameComplete=false;
isDoingTurn=false;
setViewVisibility();
}
这就是我从Logcats那里得到的错误。未完成,将换班回到第一名球员
E/周转基地﹕ 未能完成匹配:null
W/TurnBasedAgent﹕{“代码”:409,“错误”:[{“消息”:“播放机106811846324577577566的操作无效。原因:完成的第一个调用必须由挂起的播放机执行。”,“域”:“全局”,“原因”:“InvalidParticipantState”}]}
我不知道怎么做才是正确的方法,但我想要的是,一旦第二名玩家轮到他,游戏就应该以结果结束。我不想在不必要的情况下再次轮回第一名玩家。有两种方法:
finishMatch(GoogleApiClient apiClient, String matchId, byte[] matchData, List<ParticipantResult> results).
finishMatch(GoogleAppClient apiClient,字符串匹配ID,字节[]匹配数据,列表结果)。
这将更新两个玩家设备上的比赛数据并完成比赛