【发布时间】:2012-06-29 21:33:03
【问题描述】:
我有一个 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 次,而且它是浮点加法!谢谢!
【问题讨论】:
-
您的坐标 x1,y1,x2,y2 与浏览器窗口有关吗?
-
@Napolux 不,它们只是画布对象内的点。基本上整个动画都是自己的系统(就是为了一个游戏),所以我在找直接手动的解决方案。
-
好的,谢谢!我将尝试在下面回答:)
标签: javascript algorithm function math