0

我正在移动一个带有补间的块:

  var block1 = Crafty.e('Block, 2D, Canvas, Color, Tween')
    .attr({x: 450, y: 140, w: 40, h: 200})
    .color('yellow')
    .tween({x: -50}, 3000);

如何重置位置?所以在 x<=-50 时又回到 x=450?我可以以某种方式将它绑定到 x 位置吗?

4

1 回答 1

1

当位置改变时,触发“移动”事件。(这是2D 组件的一部分)所以每次对象移动时,您只需检查它的当前位置并做出适当的响应:

var checkPos = function(){ 
    if (this.x<= -50)
        this.x = 450;
};

e.bind("Move", checkPos);

如果您希望这种情况只发生一次,请使用e.one而不是e.bind. 如果你想重新开始补间,你需要更多的代码,但应该很清楚如何做到这一点。

在您的特定情况下,您还可以收听“TweenEnd”事件。

于 2014-03-06T02:00:35.690 回答