2017-12-29 28 views
0

私のデベロッパーチームは、勝者が小数点以下4桁まで計時されるゲームを作成しています。たとえば、勝者は13.9503秒でタスクを完了します。しかし、私の開発者は、iOSでは開発者が時間を小数点以下3桁まで追跡することしかできないと言いました。これは本当ですか、それとも回避策がありますか?小数点以下4桁のiOSゲーム用のタイマー。私の開発チームは不可能だと言います

ありがとうございます!

+0

これは私の分野ではありませんが、マイクロ秒の解像度が可能であると私は考えていました。それがどれくらい正確であるか、つまり時間の下限かリアルタイムかはわかりません。 – Bathsheba

答えて

0

あなたのチームが使用すると考えられるゲームの場合 func CACurrentMediaTime() -> CFTimeInterval、 ミリ秒は結果の小数部分です。 数値は、後でDecimalの固定表現でNSDecimalNumberでフォーマットできます。

2

UILabelを1秒に10000回変更する場合のように、小数点以下4桁を使用している理由を質問したいと思います。私はそれをお勧めしません。そうでない場合は、簡単な回避策です小数点以下3桁のタイマーを使用し、最後に乱数を追加します。それを行うためのヒントな方法のように聞こえるが、人間の目は、小数点第4位が間違っていることをピックアップすることはありません。

+0

良い質問です。私たちは多くの人々が同じゲームを(数万人で)同じ時間にプレイしていたため、4位を追加しました。できれば勝者は1人だけです。小数点以下の桁数では、同時に複数の勝者の可能性が低くなります。したがって、12.432秒の時間を持つ2人のユーザーの代わりに、その1つを12.4327と12.4329に表示するステップを追加できます。 –

+0

いい反応。タイマーが非常に不正確に発火するため、タイマがどれほど正確に処理されるかについて、処理能力とユーザーデバイスの速度に依存する可能性があるので、私は他のシステムについて考えることをお勧めします。 おそらく、ランダムジェネレーターを使用して、人が描画した場合に勝者を選ぶことができます。 –

+0

私は参照してください。私たちは次のバージョンのアプリでそれを調べるかもしれない。今のところ、タイマーを守らなければなりません。つまり、3進小数点の最後に乱数を置くというあなたの解決策は、実行可能な唯一の解決策だと思いますか?あなたの時間をとってくれてありがとう! –

関連する問題