我建议您使用 Tweenlite 库。
这是一些伪代码:
// determine x,y landing location
// calculate the angle between ship's x,y & landing location.
// calculate the x,y location along that angle that the landing animation should begin
// Tween from ship's x,y to the x,y where landing sequence should begin
// set the onComplete parameter to call the function that triggers the landing sequence
// Tween from ship's current location to the landing location
// set onComplete parameter to call function that sets ship to idle animation
如果您使用 Tweenlite,这是一个如何设置 tween 的示例:
Tweenlite.to(ship, duration, {x:targetX, y:targetY, onComplete:startLandingSequence});
-- 持续时间是飞船从当前位置到达着陆序列应该开始的位置需要多长时间。
当使用补间进行此类操作时,您需要根据其速度计算您的船到达给定位置需要多长时间。该值是您将作为补间持续时间传递的值。
duration = distance / speedInPixelsPerSecond;
就您在评论中提出的计算向量而言,这里有一个很棒的向量教程:
http://www.tonypa.pri.ee/vectors/as3/start.html