这可能是个愚蠢的问题。但我在我的应用程序中添加了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).
}
}];
} }
但我现在必须做什么。我在哪里编写代码表明已达到成就?我在哪里编写代码表明通过这样做达到了成就?
答案 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];