0

我正在尝试创建一个自定义视图控制器来向用户显示活动游戏(类似于 Letterpress 所做的)。

我目前正在尝试将 GKTurnBasedMatchmakerViewController 子类化,除非我不知道如何隐藏默认元素(用于邀请/显示现有游戏)并添加我自己的。我目前一直在尝试记录东西,以确保我可以访问正在进行的比赛、当前的玩家 ID 等(我最近想通了),但我一直不知道如何从界面开始。

不确定什么代码(如果有的话)在这一点上是相关的。请告诉我。

期待:隐藏当前元素。我假设我可以像在那之后的任何其他应用程序一样构建接口。

谢谢,

  • 史蒂文
4

1 回答 1

1

我认为子类化不是一个好主意。从一个干净的 UIViewController 开始,然后从那里构建 UI。然后实现所有必要的方法。

将自己设置为代表:

   [GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self;

所以你得到委托事件,例如:

handleInviteFromGameCenter
handleTurnEventForMatch
handleMatchEnded
etc. 

添加一个 UITableView,并从游戏中心加载所有比赛:

   [GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error) {
     // Add matches to table view
   }];

不要忘记先验证播放器:

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *loginVC, NSError *error)
{

};

以编程方式为比赛加注星标:

GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 2;
[GKTurnBasedMatch findMatchForRequest:request withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error)
 {

 }];

等查看完整 API 的文档。

于 2013-12-15T17:47:20.660 回答