2010-12-18 10 views
0

J'essaie de débloquer un exploit dans le jeu que je fais pour l'iPhone, mais je n'ai pas réussi. Extrait d'un exemple de projet GKTapper de Apple montrant le code du Game Center J'ai copié les fichiers GameCenterManager.h et .m et AppSpecificValues.h dans mon projet. J'ai réussi à charger les réalisations et les classements à visionner.Unlock Achievement - GameCenter iPhone

Cependant, je ne peux pas m'entraîner ou bien comment débloquer un exploit. Est-ce que certains pourraient indiquer comment employer ceci ou sans le GameCenterManager comment puis-je déverrouiller un accomplissement s'il vous plaît?

Merci.

Répondre

2
- (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). 
        } 
      }]; 
    } 
} 

Appelez cette méthode comme ceci:

[self reportAchievementIdentifier:indentifier percentComplete:percent]; 

Si vous voulez simplement déverrouiller l'appel réalisation ceci:

[self reportAchievementIdentifier:indentifier percentComplete:100.0]; 

Vous pouvez utiliser le flotteur pour calculer le pour cent de la réalisation et si l'utilisateur atteint les 100, la réussite est débloquée.

Vous pouvez aussi le faire:

[self reportAchievementIdentifier:indentifier percentComplete:((actualpoints/neededPoints)*100.0)]; 

neededPoints signifie que les points que vous avez besoin pour déverrouiller ce succès. Par exemple: actualPoints = 300; neededPoints = 600;

Il calcule: 300/600 = 0,5 * 100 = 50%

0

BTW, la propriété "terminée" est pas toujours réglé sur OUI si vous définissez percentComplete = 100, du moins pas dans la même session. J'ai passé un peu de temps à débugger pourquoi mon jeu a attribué des succès plusieurs fois même si le paramètre percentComplete était fixé à 100.