GameCenter细节

时间:2012-05-03 22:23:44

标签: iphone ios cocos2d-iphone

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

基本上我想用我自己的用户界面来显示正在播放的当前游戏,如果你正在等待轮到你,或者轮到你等等,还有游戏中的其他一些细节。这可能吗?或者我们只能通过GameCenter UI访问当前游戏吗?

此外,如果我能够对其进行换肤,或者至少抓住数据并自己进行换肤。是否可以使用尽可能少的GameCenter UI在GameCenter周围构建应用程序?我基本上只想让用户被封闭到我的游戏环境中,而不是每隔几次点击就被扔进GameCenter。有意义吗?

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

1 个答案:

答案 0 :(得分: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;
}

关于该主题的完整教程是在Ray Wenderlich教程团队的iOS 5 by Tutorials中。如果您感到慷慨,请立即行动并点击此链接:http://www.raywenderlich.com/store/ios-5-by-tutorials This is what you get