ドライブゲームを作っています。ビューはパースペクティブ 1 であり、プレーヤーのパースペクティブは前進する車の後ろからのものです。車が前進しているとき、周囲のすべての環境が下に移動してスケールします (これは今ではかなり見栄えがよくなっています)。これにより、車が前進しているような印象を与えます。ここで、上向きの矢印を放したときに車が速度を上げてから徐々に減速するように、いくつかの現実的な運転制御を行いたいと考えています。現在、上矢印が押されたときに、いくつかのスプライトのすべての移動関数を呼び出します。車が遅いときなどに関数が頻繁に呼び出されないように、これを制御する方法を探しています。これまでのコードは次のとおりです。
protected void Drive()
{
KeyboardState keyState = Keyboard.GetState();
if (keyState.IsKeyDown(Keys.Up))
{
MathHelper.Clamp(++TruckSpeed, 0, 100);
}
else
{
MathHelper.Clamp(--TruckSpeed, 0, 100);
}
// Instead of using the condition below, I want to use the TruckSpeed
// variable some way to control the rate at which these are called
// so I can give the impression of acceleration and de-acceleration.
if (keyState.IsKeyDown(Keys.Up))
{
// Lots of update calls in here
}
}
これは簡単だと思ったのですが、どういうわけか意味がわかりません。ここで助けていただければ幸いです。ありがとう