假设我有一个这样的对象......
var objA = {
x:0,
y:0,
speed:{x:0, y:0},
angle:0,
turnSpeed:8
}
...并且我在游戏中的每个“步骤”都想将其移向位于坐标 (10, 10) 的 objB。ObjA 已经在移动,突然需要移动到 objB 的位置。假设 objA 有一个函数turnTo()
可以根据它的turnSpeed
. 我可以做类似...
objA.speed.x += Math.cos((90 - obj.angle) * Math.PI / 180);
objA.speed.y += -Math.sin((90 - obj.angle) * Math.PI / 180);
...根据角度将 objA 移向 objB,但如果 objA 已经在移动,则不太可能撞到 objB,因为这没有考虑 objA 当前的速度。
如何计算到 objB 的路径,以便 objA 准确命中它?