私はevrythingを行い、ゲームセンターをゲームに統合しました。私のゲームはランナーゲームなので、ベストランナー(500メートル)、エクストリームランナー(1000メートル)、キングランナー(2000メートル)のようないくつかの成果をゲームに取り入れました。それ。
すべてが正常に機能しますが、poblmは、ユーザーが正確に500メートル走ると、アチーブメントボードで最高のランナーバッジのロックが解除されます。ユーザーは500〜999メートルを実行します。私はこれを解決するために多くのことを試みますが、運がありません。
私のコードは更新スコアメソッドです
int dismetr = self.currentScore >= 500;
self.currentScore = dismetr;
[self checkAchievements];
私はここで静的に値を500として置きます
とスイッチケース方式で
- (void) checkAchievements
{
NSString* identifier = NULL;
double percentComplete = 0;
switch(self.currentScore)
{
case 500:
{
if (self.currentScore >= 500) {
NSLog(@"ACHIVEMENT 500");
identifier= kAchievement500meter ;
percentComplete= 100.0;
break;
}
}
case 1000:
// onother statments
}
if(identifier != NULL)
{
[self.gameCenterManager submitAchievement: identifier percentComplete: percentComplete];
}
}
とにかくスコアを更新していません。
その更新スコア方式
int dismetr = 500;
self.currentScore = dismetr;
[self checkAchievements];
そしてこの方法では
- (void) checkAchievements
{
NSString* identifier = NULL;
double percentComplete = 0;
switch(self.currentScore)
{
case 500:
{
NSLog(@"ACHIVEMENT 500");
identifier= kAchievement500meter ;
percentComplete= 100.0;
break;
}
case 1000:
// onother statments
}
if(identifier != NULL)
{
[self.gameCenterManager submitAchievement: identifier percentComplete: percentComplete];
}
}
スコアを正しく更新しています。この問題を解決するために何ができますか。これを行うのを手伝ってください。
前もって感謝します。