2010-12-18 27 views
0

私はiPhoneのために作っているが、むしろ失敗に終わっているゲームでアチーブメントのロックを解除しようとしています。ロックを解除する - GameCenter iPhone

ゲームセンターのコードをデモンストレーションするApple独自のGKTapperプロジェクトサンプルから、GameCenterManager.hと.mおよびAppSpecificValues.hファイルをプロジェクトにコピーしました。私は実績とリーダーボードの読み込みに成功しました。

しかし、私は実際に業績のロックを解除する方法を正しく理解することはできません。 GameCenterManagerを使用する場合と使用しない場合の使用方法を教えてください。

ありがとうございました。

答えて

2
- (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]; 

を達成パーセントを計算するためにあなたがfloatを使用することができますユーザーが100に達すると、達成はロック解除されます。

また、これを行うことができます。

[self reportAchievementIdentifier:indentifier percentComplete:((actualpoints/neededPoints)*100.0)]; 

neededPointsは、あなたがロックを解除この達成のために必要なポイントを意味します。例: actualPoints = 300; 必要なポイント= 600;

それは計算:あなたははpercentComplete = 100を設定した場合、600分の300 = 0.5×100 = 50%ところで

0

、「完了」プロパティは常に、少なくともなく、同じセッション内で、YESに設定されていません。 percentCompleteが100に設定されているにもかかわらず、私のゲームが成果を数回与えた理由をデバッグしていました。

関連する問題