【问题标题】:Sending Achievements to GameCenter Problem!将成就发送到 GameCenter 问题!
【发布时间】:2011-07-30 05:10:24
【问题描述】:

嗯,我已经注册了排行榜和成就(仅用于测试目的)。我使用 GameCenterManager.h/.m 和 AppScoreValue.h

我的排行榜工作正常,收到所有分数,按顺序排列,但成就不授予玩家。

我想要一个展示如何报告成就的示例,我试过这个:

我的视图确实加载方法是这样的:

-(void)viewDidLoad{
   [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) {
    if (error != nil)
    {
        NSLog(@"ACHIEVEMENTS WERE NOT LOADED");
    } else {
        NSLog(@"ACHIEVEMENTS WERE LOADED");
    }

    if (achievements != nil)
    {
        NSLog(@"THERE ARE ACHIVEMENTS");
    } else {
        NSLog(@"THERE ARE NO ACHIVEMENTS %@", achievements);
    }
}];

这是我的成就报告方法:

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

}

【问题讨论】:

  • 欢迎来到 StackOverflow!你在哪里报告分数?我没有看到您在此处的任何地方调用该方法。
  • 我该怎么办?我真的迷失了这段代码。

标签: iphone xcode ipod-touch gamekit game-center


【解决方案1】:

当您报告成就时,您可以这样调用:

[self reportAchievementIdentifier:@"com.yourapp.yourachievement" percentComplete:100.0];

(您想将标识符替换为您用于游戏中心标识符的任何内容。)

我建议查看 Apple 的 this documentation。它包含有关如何在应用中使用成就的完整教程。

基本理念是,您的应用会报告用户完成成就的百分比。请注意,成就并不总是立即传播。

【讨论】:

    【解决方案2】:
    GKAchievement *achievement = 
        [[GKAchievement alloc] initWithIdentifier: identifier];
    achievement.showsCompletionBanner = YES;
    

    就是这样!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多