我正在制作回合制游戏,并且希望在游戏视图中显示您正在使用的用户名。

显示您可以使用的用户名

[[GKLocalPlayer localPlayer] alias];

我想知道是否有像这样的简单代码可以查看所连接的玩家别名,这是一个基于回合的游戏,所以我相信没有固定的联系,并且必须随他的回合一起发送该名称吗?还是这种想法不正确?

希望有人可以帮助我

最佳答案

不幸的是,我认为没有任何简单的代码可以做到这一点。我遇到了同样的问题。

我解决此问题的方法是使用以下代码段:

GKTurnBasedParticipant *otherParticipant;
for (GKTurnBasedParticipant *participant in match.participants) {
    if (NO == [participant.playerID isEqualToString:[GKLocalPlayer localPlayer].playerID]) {
        otherParticipant = participant;
    }
}

if (nil != otherParticipant && nil != otherParticipant.playerID) {
    [GKPlayer loadPlayersForIdentifiers:@[ otherParticipant.playerID ]
                  withCompletionHandler:^(NSArray *players, NSError *error) {
                      // Here, `players` is an array of `GKPlayer`s. You can
                      // access the `displayName` or `alias` property here.
                  }];
}

希望这可以帮助!

07-24 14:18