【ゲーム】ゲームの移動処理はデルタタイムを使用する
目次
デルタタイムとはなにか
デルタタイムとは、最後のフレームから今までに経過した時間の長さ
のことを言います。
言い方を代えると、1フレームの長さ
になります。
なぜ必要なのか
現在のプロセッサは一定の速度で動かないので、フレームレートは固定されません。また、処理速度もバラバラなPCやスマホで動かすので1フレームでどれくらい動かすかを定義すると移動量に違いが生じてしまいます。
以下のコードを使用したゲームの場合、3.8GHzで動作するプロセッサを使用しているPCで丁度いい速度で動いていた敵は、1.25Ghzのスマホでは3/1のスピードになってしまいます。
1 |
|
デルタタイムを使用するとどうなるのか
デルタタイムを使用すると、FPSに関係せずに、1秒間でどれだけ進むかを定義しておけば結果としての速度は変わらなくなる
1秒間に100ピクセル動かしたい場合、30FPSだと1フレーム0.033で1フレーム3.3ピクセル,60FPSだと0.016で1フレーム1.6ピクセル動かせば1秒で100ピクセル動かすことができる。
- 通常 : 1フレームの移動量
- デルタタイム : 1秒の移動量
1 |
|
fpsを求める
デルタタイムが求められれば、現在のFPSを求める事もできる
デルタタイムは1フレームの時間なので、その1フレームを1秒から割れば、FPSを求めることができる
1 |
|
【ゲーム】ゲームの移動処理はデルタタイムを使用する
https://blog.djima.net/2021/11/05/【ゲーム】ゲームの移動処理はデルタタイムを使用する/