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

基本上,我想使用自己的UI来显示当前正在玩的游戏,如果您正在等待回合或轮到自己,等等,同时还包含游戏的其他一些细节。这可能吗?还是只能通过GameCenter UI访问当前游戏?

另外,如果我能够对此进行外观设计,或者至少可以自己获取数据并对其进行外观设计,那么是否可以使用GameCenter UI尽可能少地在GameCenter上构建应用程序?我基本上只是希望将用户封闭在我的游戏环境中,而不是每点击几下便将其扔到GameCenter中。合理?

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

最佳答案

你可以这样做。该方法是获取进行游戏时显示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

关于iphone - GameCenter详细信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10440124/

10-14 21:44