2010-11-29 17 views
1

c'est une question stupide probable. Mais j'ai ajouté Game Center à mon application et maintenant je veux ajouter des réalisations, aussi. J'ai donc créé un test sur itunesconnect et j'ai copié cette méthode:GKAchievement (Game Center) montrant?

- (void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent { 
    GKAchievement *achievement = [[[GKAchievement alloc] initWithIdentifier: identifier] autorelease]; 
    if (achievement) 
    { 
    achievement.percentComplete = percent; 
    [achievement reportAchievementWithCompletionHandler:^(NSError *error) 
    { 
    if (error != nil) 
    { 
    // Retain the achievement object and try again later (not shown). 
    } 
    }]; 
    } } 

Mais que dois-je faire maintenant? Où dois-je écrire le code qui dit que la réalisation est atteinte? Où dois-je écrire le code qui dit que la réalisation est atteinte en faisant cela?

Répondre

5

Si vous demandez comment présenter la réalisation à l'utilisateur (c'est-à-dire «Achievement Earned!»), C'est entièrement à vous. Votre jeu doit implémenter les visuels de quelque manière que ce soit dans le meilleur.

Si vous avez juste besoin d'un écran de réalisation rapide et facile, essayez ceci:

http://typeoneerror.com/blog/post/game-center-achievement-notification

+0

est-il pas possible de la pomme qui affiche une réussite atteint? – Leon

+0

Non. Mais le code que j'ai lié ci-dessus ressemblera beaucoup à Apple. –

+2

Jetez un coup d'œil sur la fourche de jfro sur github pour une version plus à jour. https://github.com/jfro/BCAchievementNotification – typeoneerror

0

Utilisez propriété d'instance GKAchievementin showsCompletionBanner pour montrer la bannière de la réalisation du système à l'utilisateur.

Valeur booléenne indiquant si une bannière est affichée lorsque l'achèvement est terminé.

Swift 4

let achievement = GKAchievement(identifier: achievementId) 
achievement.percentComplete = 100.0 
achievement.showsCompletionBanner = true 

objc

GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: achievementId]; 
[achievement setPercentComplete:100.0]; 
[achievement setShowsCompletionBanner:YES];