• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱
欢迎来到 behaviac Q&A。 您在bbs里的问题,管理员会当下就收到通知,不要担心管理员看不到您的问题。也请在bbs里提供您的email,这样就可以第一时间收到关于回答,评论的email的通知了。 为了节省大家的时间,请表达好你的问题,提供必要上下文,版本号,平台信息,重现步骤等。

在执行update之前,如果切换多个状态,会导致部分函数不执行

0 喜欢 0 不喜欢
97 浏览

image

加入开始的时候objectstate是Move,移动状态,然后在某一帧agent的update之前,首先切换到了idle,然后又切换到了skill,那么在执行agent的update的时候,只会从Move变到Skill,儿idle状态的Enter和Leave函数就都不会执行了,这个有没有什么办法解决啊?

最新提问 8月 19, 2016 用户: 孤雁南飞 (220 分)

1个回答

0 喜欢 0 不喜欢

前置和后置都有一个属性“执行时机”,选择前置或后置后可以配置的。

<!--StartFragment -->

image

最新回答 8月 19, 2016 用户: cainhuang (33,810 分)
没用的,因为他是从Skill直接切换到了Move,执行的是Skill的Leave和Move的Enter,Idle状态根本没执行过
你可以每次修改objectstate后,都调用下btexec‘强制’行为树更新下。
恩,我现在是把btexec执行之前切换的状态缓存下来了,然后在执行btexec里面一个一个状态的切换。这样处理之后就ok了
...