3 votes

Détails du GameCenter

Je me demandais si quelqu'un pouvait m'éclairer sur GameCenter. Je suis en train de construire ma première application multijoueur et je me demande si je vais pouvoir récupérer des données et créer ma propre interface avec...

En gros, je veux utiliser ma propre interface utilisateur pour afficher les parties en cours, si vous attendez votre tour ou si c'est votre tour, etc. avec d'autres détails du jeu également. Est-ce possible ? Ou pouvons-nous seulement accéder aux parties en cours via l'interface utilisateur de GameCenter ?

Aussi, si je suis en mesure de skinner cela, ou du moins de saisir les données et de les skinner moi-même Est-il possible de construire l'application autour de GameCenter en utilisant aussi peu que possible l'interface utilisateur de GameCenter ? Je veux simplement que l'utilisateur soit enfermé dans mon environnement de jeu au lieu d'être projeté dans GameCenter tous les quelques clics. Est-ce que cela a un sens ?

Tout commentaire est apprécié ! Merci beaucoup !

3voto

zeiteisen Points 2894

Vous pouvez le faire. L'approche consiste à récupérer toutes les données dont vous avez besoin pour afficher une UITableView avec les parties en cours. Il serait trop long de montrer ici le code d'une vue de centre de jeu personnalisée et complète. Vous pouvez peut-être vous faire une idée du concept en regardant le code extrait pour une table :

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

Un tutoriel complet sur ce sujet se trouve dans les Tutoriels iOS 5 de l'équipe de Ray Wenderlich. Si vous vous sentez généreux, allez-y et suivez ce lien : http://www.raywenderlich.com/store/ios-5-by-tutorials This is what you get

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X