1

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

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

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

单击圆圈使其跳转一次,然后再次单击什么也不做,尽管 BehaviorList 在再次添加相同的行为之前应该为空。

我错过了什么吗?

提前致谢!

4

1 回答 1

1

那是因为你必须声明/应用一次行为,然后当你需要演员(球)移动时,你只需要说“何时”。基本上,您必须将代码更改为以下内容:

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

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

setFrameTime() 告诉演员何时 [scene.time -> now] 以及演员必须遵循他的行为多长时间 [2000 毫秒]。我希望我已经足够清楚了。

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

    var circle_jump = new CAAT.PathBehavior().
                setPath(path_jump).
    /* THIS ONE setFrameTime(0,2000). */
                setCycle(false).
                setAutoRotate(false);
于 2013-04-14T20:59:01.737 回答