我已經爲我的遊戲構建了一個目標,並且所有的工作都很好,接受了在完成其中任何一個目標後不再被調用的部分。 我知道有一個GKAchievement
類的屬性「已完成」,這是一個布爾值,當成就爲100時,返回yes。我如何知道GKAchievement是否已完成?
這裏是被稱爲當一個成就是100 precent做它通過ID至極的成就識別並報告acheeee方法:
- (void)AchivmentDidAchive:(id)Achivment{
NSString *identifier = Achivment;
NSLog(@"%@",identifier);
self.achivment = [[GKAchievement alloc]initWithIdentifier:identifier];
self.achivment.showsCompletionBanner = YES;
if (!self.achivment.completed) {
self.achivment.percentComplete = 100;
NSLog(@"Reproting!");
[self.achivment reportAchievementWithCompletionHandler: ^(NSError *error)
{
}];
}
else {
NSLog(@"Achivment Completed!");
} }
什麼,我想在這裏做的是設置precent完成到100,並在下一次報告它,即要再次調用。
但它總是有效...任何更好的想法如何處理這個?
據我所知,在iOS 5之後,遊戲中心會自動緩存成就,因此每次在第一次調用loadAchievements 。 –
我不知道這個...這種方法適用於所有設備,這就是我當時正在尋找的東西 – skytz