【问题标题】:Not able to get top Score or Player Score from Leaderboard through "PlayGamesPlatform.Instance.LoadScores" in Unity无法通过 Unity 中的“PlayGamesPlatform.Instance.LoadScores”从排行榜获得最高分数或玩家分数
【发布时间】:2017-05-22 16:39:41
【问题描述】:

我正在使用以下代码获得最高分:

PlayGamesPlatform.Instance.LoadScores ("Leaderboard_id", 
LeaderboardStart.TopScores,1, LeaderboardCollection.Public , 
LeaderboardTimeSpan.AllTime, (LeaderboardScoreData data) => {   

        if(data.Valid){
            hScore = (int)data.Scores[0].value;
            HScore.text = hScore.ToString();
        } else{             
        }
    });

这返回 0。如果我做错了什么或遗漏了什么,请帮助我。我已经在多个线程上搜索了这个,但没有找到任何解决方案。如果有人可以,请帮助解决这个问题

【问题讨论】:

  • 您的排行榜 ID 值是否等于“Leaderboard_id”?请参阅此相关 SO 帖子:stackoverflow.com/questions/37258240/…
  • 你确定有一个实际的最高分(> 0)要检索吗?您是否尝试过检索超过 1 行并查看它们是否具有值?
  • @Levon 感谢您的回复。是的,我正在使用从 playstore 获得的排行榜 ID 的确切字符串。
  • @AL。是的,有多个分数(> 0),是的,我也尝试获得超过 1 行,但也没有运气。

标签: unity3d google-play-services leaderboard


【解决方案1】:

这是我的代码,它工作正常。

PlayGamesPlatform.Instance.LoadScores (
 LeaderboardID,
 LeaderboardStart.TopScores,
 1,
 LeaderboardCollection.Public,
 LeaderboardTimeSpan.AllTime,
 (LeaderboardScoreData data) => {
    topScore = (int) data.Scores[0].value;
    topScoreTextBox.text = topScore.ToString();
});

首先初始化 PlayGamesPlatform

PlayGamesPlatform.InitializeInstance(config);

然后激活 Google Play 游戏平台

PlayGamesPlatform.Activate();

然后检查用户是否已登录

if (!Social.localUser.authenticated)

如果用户 LoggedIn 则调用 LoadScores。希望你能获得排行榜的最高分。

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 2015-05-04
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    相关资源
    最近更新 更多