我通常使用 XNA 开发游戏,使用 XNA 时要做的一件常见事情是确保根据 ElapsedGameTime 更新每个实体。即使在可变帧速率下,这也允许平滑移动。
我正在使用 FlashDevelop 在 AS3 中寻找该功能。
到目前为止,我想出了:
public function Update():void
{
var currentTime:Number = getTimer();
var elapsedTime:Number = currentTime - lastFrame;
elapsedTime /= 1000;
//use elapsedTime here for movement
player.x += speed.x * elapsedTime
lastFrame = getTimer();
}
使用它,我无法真正判断它是否真的有效。当我实现这个时,我真的看不出有什么区别。
这是相似的吗?还有另一种方法可以做到这一点吗?