假设我有一个像这样的对象......
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能够精确地命中它?
答案 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使用三角形来解决问题简单的三角。