我正在构建一个驾驶游戏。视图是一个透视图,玩家的视角是从向前行驶的汽车后面。当汽车向前行驶时,它周围的所有环境都向下移动并缩放(现在看起来相当不错),这给人一种汽车向前行驶的印象。现在,我想要一些逼真的驾驶控制,让汽车加速,然后在释放向上箭头时逐渐减速。目前,当按下向上箭头时,我会调用几个精灵的所有移动函数。我正在寻找一种方法来控制它,以便在汽车慢等时不经常调用这些函数。到目前为止我的代码是:
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
}
}
我认为这应该很容易,但由于某种原因,我无法理解它。真的很感激这里的一些帮助!谢谢