Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解锁成就-GameCenter iPhone_Iphone_Gamekit_Game Center_Achievements_Unlock - Fatal编程技术网

解锁成就-GameCenter iPhone

解锁成就-GameCenter iPhone,iphone,gamekit,game-center,achievements,unlock,Iphone,Gamekit,Game Center,Achievements,Unlock,我正试图在我为iPhone制作的游戏中解锁一项成就,但没有成功 从苹果自己的Gktaper项目示例演示游戏中心代码中,我已将GameCenterManager.h和.m以及AppSpecificValues.h文件复制到我的项目中。我已经成功加载了成绩和排行榜供查看 然而,我无法弄清楚或弄清楚如何真正解锁一项成就。有人能指出如何使用GameCenterManager或不使用GameCenterManager如何解锁成就吗 谢谢 - (void) reportAchievementIden

我正试图在我为iPhone制作的游戏中解锁一项成就,但没有成功

从苹果自己的Gktaper项目示例演示游戏中心代码中,我已将GameCenterManager.h和.m以及AppSpecificValues.h文件复制到我的项目中。我已经成功加载了成绩和排行榜供查看

然而,我无法弄清楚或弄清楚如何真正解锁一项成就。有人能指出如何使用GameCenterManager或不使用GameCenterManager如何解锁成就吗

谢谢

    - (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).
                  }
             }];
    }
}
按如下方式调用此方法:

[self reportAchievementIdentifier:indentifier percentComplete:percent];
如果您只想解锁成就,请调用以下命令:

[self reportAchievementIdentifier:indentifier percentComplete:100.0];
您可以使用浮动来计算成就的百分比,如果用户达到100,成就将被解锁

您也可以这样做:

[self reportAchievementIdentifier:indentifier percentComplete:((actualpoints/neededPoints)*100.0)];
neededPoints指解锁此成就所需的积分。例如: 实际点数=300; 所需点数=600

它计算:300/600=0.5*100=50%

顺便说一句,如果您设置percentComplete=100,“completed”属性并不总是设置为YES,至少不在同一会话中。我花了一段时间调试为什么我的游戏会多次获得成就,即使完成百分比设置为100