2

このスレッドから: GKAchievement での percentComplete について

私はこれまでに成果の進捗状況を報告することができましたが、提出された進捗状況に小数値が含まれていない場合でも問題はありません。この x 成果を得るためにタスクを 10 回実行するなどです。各 reportProgress は 10% になります。

ただし、タスクを1000回実行した後にのみ完了することができる実績をコーディングしようとしています。つまり、完了したタスクごとに 0.1 の進捗です。

percentComplete を取得するときに 10 進値を取得する方法に関する修正はありますか? 保存された値または返された値が int に変換されるかどうかはわかりません。

私がやろうとしているのは、GameCenter から現在の実績の進行状況を取得し、タスクが完了するたびに 0.1d ずつインクリメントすることです。4.1d の進捗状況を報告しようとすると、ログに次のように記録されます。

達成度の報告 de.company.testapp.achievement1, with 4.100000

これはシステムによって生成されたログです。では、GameCenter が 10 進数で double として保存し、percentComplete を要求したときに整数のみを返すと仮定するのは正しいですか?

確かにローカル カウンターを保持できますが、ユーザーが別のデバイスに切り替えたとき、またはデバイス内でローカル認証ユーザーが変更された場合に、スコアの不一致を回避しようとしています。スコアを同期したり、サーバーを更新して、すべてのプレーヤーのすべての成果を追跡したりするのは、少し多すぎるかもしれません.

この種の成果の追跡を適切に処理する方法について、誰か提案がありますか?

前もって感謝します。

PS。私は Unity で開発しているので、GameCenterPlatform を使用していますが、objective-c 側で percentComplete を取得しようとしましたが、percentCompleted の整数も返します。

4

2 に答える 2

0

ローカルに保存することが唯一の選択肢だと思います。クロス デバイス トラッキングが心配な場合は、特定の情報にクラウド ストレージを使用してみてください。GameCenter に次ぐ独自のサーバー上の情報も追跡したい場合を除き、GameCenter が許可するよりも高い精度で情報を追跡するための唯一の現実的なオプションだと思います。

于 2013-03-28T15:09:29.280 に答える