如果x位置是< = -50,我该如何添加事件?

时间:2014-03-05 21:10:14

标签: javascript craftyjs

我正在使用补间移动块:

  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位置吗?

1 个答案:

答案 0 :(得分:1)

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

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

e.bind("Move", checkPos);

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

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