使用 CAAT,我可以绑定(bind)一个事件来向参与者添加行为。但是我无法弄清楚如何重复对后续事件触发的行为影响。 这是代码:
circle.mouseDown = function(e){
circle.emptyBehaviorList();
circle.addBehavior(circle_jump);
}
单击圆圈会使其跳转一次,然后再次单击不会执行任何操作,尽管在再次添加相同行为之前,BehaviorList 应该为空。
我错过了什么吗?
提前致谢!
最佳答案
那是因为您必须声明/应用该行为一次,然后当您需要 Actor (球)移动时,您只需说“何时”。 基本上你必须将代码更改为如下所示:
circle.addBehavior(circle_jump);
scene.addChild(circle);
circle.mouseDown = function(e){
circle_jump.setFrameTime(scene.time,2000);
}
setFrameTime( ) 告诉 Actor 何时 [scene.time -> now] 以及 Actor 必须遵循他的行为多长时间 [2000 ms]。 我希望我已经说得足够清楚了。
ps。现在,球在页面加载时会跳转,这是因为您必须注释此行:
var circle_jump = new CAAT.PathBehavior().
setPath(path_jump).
/* THIS ONE setFrameTime(0,2000). */
setCycle(false).
setAutoRotate(false);
关于javascript - CAAT - 重复行为对事件触发的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13670754/