我理解为什么会这样做,但我真的不知道如何防止这种情况.所以场景是,每一帧我都按照一定的预定像素移动汽车.当我使用慢速或更快的计算机时会发生什么......好吧,我每秒钟获得的帧越来越少,因此汽车移动得更慢或更快.我想知道如何防止这种情况.
我怀疑使用任何库都会遇到同样的问题...这是我第一次做这样的实时工作.
Doc*_*own 12
我怀疑你当前的代码看起来像这样
// to be called every frame
void OnEveryFrame()
{
MoveCar();
DrawCarToScreen();
}
Run Code Online (Sandbox Code Playgroud)
但它应该是这样的:
// to be called - for example - 50 times per second:
void OnEveryTimerEvent()
{
MoveCar();
}
// to be called every frame
void OnEveryFrame()
{
LockTimerEvents();
DrawCarToScreen();
UnlockAndProcessOutstandingTimerEvents();
}
Run Code Online (Sandbox Code Playgroud)
当然,你必须设置一个相应的计时器事件.