GKAchievement (Game Center) показывает? - PullRequest
1 голос
/ 29 ноября 2010

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

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

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

Ответы [ 2 ]

5 голосов
/ 29 ноября 2010

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

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

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

1 голос
/ 10 марта 2018

Используйте свойство экземпляра 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];
...