不推荐使用iOS8 GameKit TurnBasedMatch播放器ID

时间:2014-09-19 11:37:32

标签: ios8 gamekit

我正在使用iOS8中的GameCenter / GameKit来构建TurnBasedMatch。我很困惑如何确定当前的播放器(即当前在iPhone上运行的应用程序)是否是轮到它的人。我遇到此问题的原因是Apple文档说在iOS8中不推荐使用GKTurnBasedParticipant.playerID。

我曾经做过以下事情: - GameCenter验证时: (1)在本地存储当前的playerID (2)加载当前匹配 (3)检查Match.currentParticipant的playerID是否与本地存储的playerID匹配,如果是,则允许玩家轮到他人

现在在iOS8中 - currentParticipant(这是一个GKTurnBasedParticipant)已经弃用了playerID。那么我怎么知道currentParticipant是否真的是本地玩家呢?

1 个答案:

答案 0 :(得分:3)

您无需存储 playerID 来检查身份。可以使用以下方式访问本地 playerID

[GKLocalPlayer localPlayer].playerID

关于如何使用 playerID 现在它已被弃用,该属性仅从 GKTurnBasedParticipant 移动到 GKPlayer 。这不会影响我之前粘贴的代码,但它确实会影响您访问 match.participants 的方式。因此,对于任何给定的玩家,在iOS8中访问它的方式是:

GKTurnBasedParticipant *p1 = (GKTurnBasedParticipant *)self.match.participants[index];
p1.player.playerID

如您所见,您只需在当前代码中添加 .player