ライブラリの今後の方針メモ
FPSを可変にするために何か基準となる時間要素を作って、ゲーム内の処理はすべてその値を基準にするとどうか。
- 前フレームからの時間の差を使って(例えばそれが16msなら)、(16/1000)*(1000msあたりの移動量)だけ移動させる?
- 16/1000のあたりが重そうか。
- 各フレーム毎に読み取り専用プロパティとして保持すれば速度面は解決か。
public double TimeDifference { get { // 実際にはフレームのはじめに保持しておくので同一フレーム内では同じ値を返す。 return (Enviroment.TickCount - previousFrameTime) / 1000.0; } }
あるいは各ゲーム要素に別々のFPSを保持させて違うタイミングで動かすとどうか。
- マルチスレッド的ややこしさがありそう
- そもそも今のライブラリの仕組みで対応出来るのか(割と完成されているので、できれば大きな仕様変更は避けたい
- 要素がネストされている現在の構造では面倒くさそう。
- つまりは面倒。