游戏中心自定义排行榜 - 我是否真的需要拨2个电话才能获得玩家的别名?

时间:2010-11-09 10:24:04

标签: iphone cocoa-touch game-center leaderboard

我正在使用游戏中心来设置自定义排行榜,在检索我的UITableView的数据时,我只获取每个条目的playerID属性,但不是我想要使用的更有用的别名属性显示谁得到每个分数。

我不明白Apple为什么这样做了,如果没有得到它的玩家的名字,记分牌上的得分肯定是没有意义的吗?

无论如何,似乎我能获得播放器名称的唯一方法是使用loadPlayersForIdentifiers:withCompletionHandler:GKPlayer类的方法。这似乎是一个不必要的步骤 - 任何人都可以确认这是否需要做才能获得玩家的别名?

1 个答案:

答案 0 :(得分:4)

是..它只存储播放器的ID ..所以要加载实际的别名,你需要传递playerid并获得别名..

如果您不确定实际代码是什么:

如果你想获得本地玩家的别名是:

[[GKLocalPlayer localPlayer] alias];

其他玩家:

    [GKPlayer loadPlayersForIdentifiers:playerIDsArray withCompletionHandler:^(NSArray *players, NSError *error)
   {
        if (error != nil)
        {
 // Handle the error.
        }
        if (players != nil)
        {

for(int i = 0; i<array_size; i++)            
[NameArray objectAtIndex:i]  = [[players objectAtIndex:i]alias];

        }
        }];

希望它有所帮助...