09/01/24 16:14:33 n8Xq5Wpj
>>268
訂正サンクス。
時刻取得について。
こんな風に実装したことがある。てか今そうだね。
例えば固定フレーム方式で、描画の間引き、つまり1/60で実装されたゲームを1/30や1/20で動かせるように、ってオプションって良く作るじゃない。
この時Move処理は依然として1/60で動作させたいとなると、突き詰めると入力情報だけ1/60になるようにしておけば良い。
1/60で作って、1/20描画の場合。
move,move,move,Draw→→→→→→同期画面更新,polling,move,move,move,Draw→→→→・・・
MDXの場合はBufferedDataCollectionを取得して、時間で等分する。で、そいつをMove処理に渡してやる、と。
bufferdDataの保持してる時刻は49日サイクルの timeGetTime()に依存してるので、そっちで合わせたほうが楽そうなのでこれを使った。
ちなみに実際に動作を見てみるとbufferedDataの時刻、かなりいい加減なのはわかる。3倍、つまり1/180秒程度しか分解出来ないっぽい。
もちろんプログラム起動時にStopwatchとbufferedDataのずれを取得しておく、って方法もあると思うけどめんどそうだから上記ので実装した。