CAAT - 对事件触发器重复行为影响

时间:2012-12-02 15:36:02

标签: javascript events animation 2d

使用CAAT我可以将事件绑定到向actor添加行为。但是我无法弄清楚如何在后续事件触发器上重复行为效果。 这是代码:

circle.mouseDown = function(e){
    circle.emptyBehaviorList();
    circle.addBehavior(circle_jump);
}

http://jsfiddle.net/S4frL/1/

单击圆圈使其跳转一次,然后再次单击不执行任何操作,但在再次添加相同行为之前,BehaviorList应为空。

我错过了什么吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

那是因为你必须宣告/应用一次行为,然后当你需要演员(球)移动时你只需要说“何时”。 基本上你必须改变你的代码:

circle.addBehavior(circle_jump);
scene.addChild(circle);

circle.mouseDown = function(e){
    circle_jump.setFrameTime(scene.time,2000);
}

setFrameTime()告诉演员什么时候[scene.time - >现在]以及[2000毫秒]演员必须遵循他的行为。 我希望我已经足够清楚了。

PS。球现在在页面加载时跳跃,这是因为你必须评论这一行:

    var circle_jump = new CAAT.PathBehavior().
                setPath(path_jump).
    /* THIS ONE setFrameTime(0,2000). */
                setCycle(false).
                setAutoRotate(false);