達成のロックを解除 - GameCenter iPhone
-
11-10-2019 - |
質問
私はiPhoneのために作っているゲームの成果を解き放ちようとしていますが、むしろ失敗しています。
Apples Own Own Gktapperプロジェクトのサンプルゲームセンターコードのデモは、Gamecentermanager.hと.mとAppSpecificValues.hファイルをプロジェクトにコピーしました。視聴のための成果とリーダーボードのロードを正常に入手しました。
しかし、私は実際に成果を解き放つ方法を解決したり、正しいことをしたりすることはできません。 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)];
必要なポイントとは、この達成のロックを解除するために必要なポイントを意味します。例:実際のポイント= 300;必要なポイント= 600;
計算:300/600 = 0.5 * 100 = 50%
他のヒント
ところで、「完了」プロパティは、少なくとも同じセッション内ではない場合、パーセントComplete = 100を設定した場合、常にYESに設定されているわけではありません。パーセントコンプレテが100に設定された場合でも、私のゲームが成果を数回授与した理由をデバッグするのにしばらく費やしました。
所属していません StackOverflow