使用 CAAT,我可以将事件绑定到向参与者添加行为。但是我无法弄清楚如何在后续事件触发器上重复行为效果。这是代码:
circle.mouseDown = function(e){
circle.emptyBehaviorList();
circle.addBehavior(circle_jump);
}
单击圆圈使其跳转一次,然后再次单击什么也不做,尽管 BehaviorList 在再次添加相同的行为之前应该为空。
我错过了什么吗?
提前致谢!
使用 CAAT,我可以将事件绑定到向参与者添加行为。但是我无法弄清楚如何在后续事件触发器上重复行为效果。这是代码:
circle.mouseDown = function(e){
circle.emptyBehaviorList();
circle.addBehavior(circle_jump);
}
单击圆圈使其跳转一次,然后再次单击什么也不做,尽管 BehaviorList 在再次添加相同的行为之前应该为空。
我错过了什么吗?
提前致谢!
那是因为你必须声明/应用一次行为,然后当你需要演员(球)移动时,你只需要说“何时”。基本上,您必须将代码更改为以下内容:
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);