我在Google Play服务中阅读了有关
leaderboards的所有文档,似乎当我调用GameClient的submitScore函数时,服务仅考虑提交的最高分数.例如.:
第一个电话:
gamesclient.submitScore( 100 );
现在玩家得分是100
第二个电话:
gamesclient.submitScore( 150 );
现在玩家得分是150
第三个电话:
gamesclient.submitScore( 100 );
玩家得分仍然保持150.提交的值不大于last,所以它被忽略.
是否有一种简单的方式来检索最后的玩家得分,总结新的得分,并提交总计创建增量分数排行榜?就像是
int old_score = ...GET LAST PLAYER SCORE... int new_score = old_score + current_game_score; gamesclient.submitScore( new_score );
解决方法
没有测试到目前为止,但我认为这样做的方式:
PendingResult<Leaderboards.LoadPlayerScoreResult> result = Games.Leaderboards.loadCurrentPlayerLeaderboardScore(gameHelper.getApiClient(),"LEADERBOARD_ID",LeaderboardVariant.TIME_SPAN_ALL_TIME,LeaderboardVariant.COLLECTION_PUBLIC); result.setResultCallback(new ResultCallback<Leaderboards.LoadPlayerScoreResult>() { @Override public void onResult(Leaderboards.LoadPlayerScoreResult loadPlayerScoreResult) { Games.Leaderboards.submitScore(gameHelper.getApiClient(),loadPlayerScoreResult.getScore().getRawScore()+ score); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。