我想知道是否有人可以为我揭开GameCenter的某些亮点。我正在构建我的第一个多人游戏应用程序,我想知道我是否能够获取数据并使用它创建我自己的界面......
基本上我想用我自己的用户界面来显示正在播放的当前游戏,如果你正在等待轮到你,或者轮到你等等,还有游戏中的其他一些细节。这可能吗?或者我们只能通过GameCenter UI访问当前游戏吗?
此外,如果我能够对其进行换肤,或者至少抓住数据并自己进行换肤。是否可以使用尽可能少的GameCenter UI在GameCenter周围构建应用程序?我基本上只想让用户被封闭到我的游戏环境中,而不是每隔几次点击就被扔进GameCenter。有意义吗?
任何见解都表示赞赏!非常感谢你!
答案 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