【问题标题】:GKAchievement (Game Center) showing?GKA成就(游戏中心)显示?
【发布时间】:2018-03-11 04:18:14
【问题描述】:

这可能是一个愚蠢的问题。但我将 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).
    }
   }];
    } }

但是我现在该怎么办。我必须在哪里编写说明已达到成就的代码?我必须在哪里编写代码说明通过这样做可以达到成就?

【问题讨论】:

    标签: objective-c ios4 game-center


    【解决方案1】:

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

    如果您只需要快速简单的成就显示,试试这个:

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

    【讨论】:

    • 苹果有没有办法显示达到的成就?
    • 不。但是我上面链接的代码看起来很像来自 Apple。
    • 查看 jfro 在 github 上的 fork 以获得更新的版本。 github.com/jfro/BCAchievementNotification
    【解决方案2】:

    使用 GKAchievementin 实例属性showsCompletionBanner 向用户显示系统成就横幅。

    一个布尔值,用于说明在 成就完成。

    斯威夫特 4

    let achievement = GKAchievement(identifier: achievementId)
    achievement.percentComplete = 100.0
    achievement.showsCompletionBanner = true
    

    对象

    GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: achievementId];
    [achievement setPercentComplete:100.0];
    [achievement setShowsCompletionBanner:YES];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      相关资源
      最近更新 更多