根据当前位置创建补间位置

createjs tween location based off of current location

我正在使用 create.jstween.js。我正在尝试制作一个弹跳动画,比给定的更复杂。更具体地说,我试图通过偏移量而不是给定坐标来补间对象的 y 。似乎有一种简单的方法可以做到这一点:

createjs.Tween.get(circle, {loop:false}).to({offset-x: 100}, 1000, createjs.Ease.linea);

终极问题:如何根据对象的当前位置补间坐标?

当您创建一个 Tween 实例时,您正在创建一个确定性动画,这意味着您可以将补间的位置设置为任何值(0 到 1 之间),它会在您期望的位置。

如果我理解你的问题,你想预先制作一个补间,但让它使用对象的当前位置而不是制作补间时的值。如果是这种情况,那么您将需要一种不同的方法。也许您应该在需要时按需生成补间,而不是一开始就生成。这样,它就可以使用您当前的位置。

这是一个快速示例:http://jsfiddle.net/x4xxwjuv/ 球以恒定的速度移动,但是当您单击按钮时,它将:

  1. Tween back back bit, based on its current position
  2. 或补间到特定的 Y 位置(掉到地板上)

然后它恢复正常移动。补间球是填充的,动画球不是。

这是 spike 的示例代码。

createjs.Tween.get(ball)
    .to({x: ball.x+(ball.xSpeed*-4), y:ball.y+(ball.ySpeed*-4)}, 1000, createjs.Ease.bounceOut);