我有一个 Javascript 中的 2D 动画,我需要一个精灵以设定的速度和方向从一个点 (x1, y1) 移动到另一个点 (x2, y2)。例如,
function update(speedX, speedY){
x1 += speedX;
y1 += speedY;
if("(x1, y1) reach (x2, y2)"){
// do other stuff
}
}
在大多数情况下,speedX 和 speedY 不相等,它们也不会均匀地影响每个轴所需的行进距离。我使用切线函数计算 speedX 和 speedY 值,以计算给定速度和角度的必要速度。
我的问题是,有没有一种算法可以做到这一点?我更喜欢高效的东西,因为这必须每秒完成 30 次,而且它是浮点加法!谢谢!