我正在移动一个带有补间的块:
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 位置吗?
我正在移动一个带有补间的块:
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 位置吗?
当位置改变时,触发“移动”事件。(这是2D 组件的一部分)所以每次对象移动时,您只需检查它的当前位置并做出适当的响应:
var checkPos = function(){
if (this.x<= -50)
this.x = 450;
};
e.bind("Move", checkPos);
如果您希望这种情况只发生一次,请使用e.one
而不是e.bind
. 如果你想重新开始补间,你需要更多的代码,但应该很清楚如何做到这一点。
在您的特定情况下,您还可以收听“TweenEnd”事件。