计算从一个对象到另一个对象的路径并沿着它移动?

时间:2012-09-08 03:57:16

标签: javascript jquery canvas

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

var objA = {
    x:0,
    y:0,
    speed:{x:0, y:0},
    angle:0,
    turnSpeed:8
}

...我在游戏中的每个“步骤”我想将它移向objB,它位于坐标(10,10)处。 ObjA已经开始移动,突然需要转向objB的位置。假设objA有一个函数turnTo(),它可以根据turnSpeed将每个步骤转向objB。我可以做点像......

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能够精确地命中它?

1 个答案:

答案 0 :(得分:2)

首先,看看Coordinates for my Javascript game - based on an angle, when do I use Sin Cos and Tan?

你知道objB的x和y坐标(我假设它们保持不变)你可以使用JavaScript得到objA的x和y坐标,因此你可以从任何一点objA到objB使用三角形来解决问题简单的三角。