3

我想知道是否有人可以为我阐明 GameCenter。我正在构建我的第一个多人游戏应用程序,我想知道我是否能够获取数据并使用它创建自己的界面......

基本上,我想使用我自己的 UI 来显示当前正在玩的游戏,如果你正在等待轮到你,或者轮到你了,等等,以及游戏中的一些其他细节。这可能吗?还是只能通过 GameCenter UI 访问当前游戏?

此外,如果我能够对其进行蒙皮,或者至少自己获取数据并对其进行蒙皮。是否可以使用尽可能少的 GameCenter UI 围绕 GameCenter 构建应用程序?我基本上只是希望用户被封闭在我的游戏环境中,而不是每点击几下就被扔进 GameCenter。说得通?

任何见解表示赞赏!非常感谢你!

4

1 回答 1

3

你可以这样做。该方法是获取显示正在进行的游戏的 UITableView 所需的所有数据。在这里展示一个完全自定义的基于回合的游戏中心视图的代码会很长。如果您查看为表格截取的代码,也许您会了解这个概念:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"MatchCell" owner:self options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }

    GKTurnBasedMatch *match = [[allMyMatches objectAtIndex:indexPath.section ] objectAtIndex:indexPath.row];
    MatchCell *c = (MatchCell *)cell;
    c.match = match;
    c.delegate = self;
    if ([match.matchData length] > 0) {
        NSString *storyString = [NSString stringWithUTF8String:[match.matchData bytes]];
        c.storyText.text = storyString;
        int days = -floor([match.creationDate timeIntervalSinceNow] / (60 * 60 * 24));
        c.statusLabel.text = [NSString stringWithFormat:@"Story started %d days ago and is about %d words", days, [storyString length] / 5];
    }

    if (indexPath.section == 2) {
        [c.quitButton setTitle:@"Remove" forState:UIControlStateNormal];
        [c.quitButton setTitle:@"Remove" forState:UIControlStateNormal];
    }

    return cell;
}

关于该主题的完整教程在 iOS 5 中,来自 Ray Wenderlich 的教程团队的 Tutorials。如果您觉得大方,请点击以下链接:http ://www.raywenderlich.com/store/ios-5-by-tutorials 这就是你得到的

于 2012-08-30T19:14:47.620 回答