behaviac icon indicating copy to clipboard operation
behaviac copied to clipboard

该在哪里调用事件

Open netscane opened this issue 4 years ago • 1 comments

能不能在动作内的方法里激发事件(FireEvent),这样是不是会形成死循环? 如果不能在动作的方法里激发事件,那在外部调用FireEvent,如果行为树正在执行某个节点中,激发事件后行为树切换了,2个行为就同时执行了,是否会产生冲突

netscane avatar Aug 11 '19 10:08 netscane

  1. 个人理解:行为树是决策层 FireEevent一般在执行层完成某个任务时触发。
  2. 执行层跟决策层有先后运行的,所有一般不存在行为树执行过程中触发事件。
  3. 在行为树运行时触发事件只有一种情况:就是响应事件的时候切换了树,然后又触发了别的事件,这时会类似调用栈 中断之前的树,等当前树执行完才恢复到原来的树。

ManchyHuang avatar Mar 16 '22 12:03 ManchyHuang