GKAchievement(游戏中心)展示?

时间:2010-11-29 20:28:10

标签: objective-c ios4 game-center

这可能是个愚蠢的问题。但我在我的应用程序中添加了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 个答案:

答案 0 :(得分:5)

如果您正在询问如何向用户展示成就(即“获得成就!”),那完全取决于您。您的游戏必须以最佳方式实现视觉效果。

如果您只需要快速简便的成绩展示,请尝试以下方法:

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

答案 1 :(得分:1)

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