num*_*l25 5 flash animation actionscript actionscript-2 actionscript-3
我注意到一些程序员根据时间的不同动画对象.我不确定为什么,即使这是合乎逻辑的.有谁知道这个意义吗?
下面是一段代码,解释了我的意思:
var timePassed:int = getTimer()-lastTime;
lastTime += timePassed;
var newBallX = ball.x + ballDX*timePassed;
var newBallY = ball.y + ballDY*timePassed;
Run Code Online (Sandbox Code Playgroud)
Joh*_*lla 16
当您根据时间制作动画时,您可以使自己独立于帧速率.无论经过了多少帧,你的球都会在给定的时间内移动相同的距离.将其与帧速率进行比较,帧速率取决于许多变量,例如可用于执行动画的处理能力.
这是一个常见的游戏物理问题 - 查看Glenn Fiedler出色的"Fix Your Timestep!" 文章对此有更详细的看法.(正确的做法比将方向向量乘以时间步长稍微复杂一些.)