如何报告分数或成绩?

时间:2014-05-24 22:49:32

标签: ios objective-c sprite-kit game-center leaderboard

我正在关注的游戏中心教程向我展示了除了如何向排行榜报告分数和成就之外的一切。

这是得分部分:

+ (void)reportScore:(Float64) score forIdentifier: (NSString*) identifier {
GKScore* highScore = [[GKScore alloc] initWithLeaderboardIdentifier:@"Tap_Competition_LB"];
highScore.value = score;
[GKScore reportScores:@[highScore] withCompletionHandler:^(NSError *error) {
    if (error) {
        NSLog(@"Error in reporting scores: %@", error);
    }
}];
}

这是成就部分:

+ (void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent
{
    GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
    if (achievement)
    {
        achievement.percentComplete = percent;
        achievement.showsCompletionBanner = YES;

        if (![[NSUserDefaults standardUserDefaults] boolForKey:identifier]) {
            //Tell analytics if you want to
        }

        NSArray *achievements = @[achievement];
        [GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
            if (error != nil) {
                NSLog(@"Error in reporting achievements: %@", error);
            } else {
                [[NSUserDefaults standardUserDefaults] setBool:YES forKey:identifier];
                [[NSUserDefaults standardUserDefaults] synchronize];
            }
        }];
    }
}

在本地用户身份验证之后,这两个文件都位于我创建的TCUser文件中。

我正在关注的教程提供了这行代码来报告:

[SingletonClassName reportAchievementIdentifier:@"com.companyname.gamename.achievementname" percentComplete:100.0f];

但我不明白要引用哪个单例类。任何人都可以帮助我并告诉我如何准确报告分数或成就吗?

Apple文档也没有帮助。 PS这是教程:http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10844

0 个答案:

没有答案