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;
}

そのトピックに関する完全なチュートリアルは、RayWenderlichのチュートリアルチームのチュートリアルによるiOS5にあります。あなたが寛大であると感じるならば、ahedしてこのリンクをたどってください:http ://www.raywenderlich.com/store/ios-5-by-tutorials これはあなたが得るものです

于 2012-08-30T19:14:47.620 に答える