//Calculate time step
float timeStep = stepTimer.getTicks()/1000.f;
//Move for time step
dot.move(timeStep);
//Restart step timer
stepTimer.start();
このコードは、Lazy FooのSDLチュートリアルから抜粋して、可変タイムステップベースの動きシステムを生成する必要があります。私の主な質問はこれがどのように機能するかです。 float timeStep = stepTimer.getTicks()/1000.f;
は、秒ので経過時間を計算します。したがって、最後の移動呼び出しから2ミリ秒が経過したとすると、timeStep varは0.02秒になります。コード内でどのように使えるのでしょうか?もし私が毎秒10ピクセルの一定速度を持っていて、その速度をどのフレームレートでも動作させたいのであれば、その値(0.02)でpx/sを掛けなければならないでしょう。ゲームエンジンの動きはどのように動作するのですか
ただし、これは次のようになりますposx += 10*0.02
。私たちがちょうど学んだように、それは0.2ピクセルの値でポジションを増やすことを意味します(もちろん、これはうまく動作せず、その値はちょうどその値になります)。
私はここで何が欠けていますか?