3

假设我有一个这样的对象......

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 准确命中它?

4

1 回答 1

2

首先,看一下我的 Javascript 游戏的坐标 - 基于角度,我什么时候使用 Sin Cos 和 Tan?

您知道 objB 的 x 和 y 坐标(我假设它们保持不变),并且您可以使用 JavaScript 获取 objA 的 x 和 y 坐标,因此您可以使用简单的三角函数将问题解决为从 objA 到 objB 的任何点的三角形。

于 2012-09-08T04:08:13.300 回答