2010-11-29 2 views
1

Это, вероятно, глупый вопрос. Но я добавил Game Center в свое приложение, и теперь хочу добавить и достижения. Поэтому я создал тестовое достижение на itunesconnect и скопировал этот метод:GKAchievement (Game Center) показывает?

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

Но что мне теперь нужно делать. Где я должен написать код, который говорит, что достижение достигнуто? Где мне нужно написать код, в котором говорится, что достижение достигнуто, сделав это?

ответ

5

Если вы спрашиваете, как представить достижение пользователю (т. Е. «Достигнутое достижение!»), Это полностью зависит от вас. Ваша игра должна реализовывать визуальные эффекты любым способом, который подходит в лучшем виде.

Если вам просто нужен быстрый и легкий дисплей достижения, попробуйте следующее:

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

+0

Неужели нет способа из яблока, который отображает достигнутое достижение? – Leon 2010-11-29 20:55:09

0

Использование GKAchievementin экземпляр свойство showsCompletionBanner, чтобы показать систему достижения баннера пользователя.

Булево значение, указывающее, отображается ли баннер, когда достижение завершено.

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