• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱

选择监测节点的BUG

0 喜欢 0 不喜欢
3,295 浏览

现象:如图,在监测分支条件为 可攻击时 执行普通攻击 并等待3000毫秒。如果这个时候 目标移动了,不可攻击了。如果可以追击则进行追击。但是这个时候就崩溃了。如果把上面分支中的序列改成只有普通攻击就不会崩溃。

测试:后面测试了其他类似用到这种的情况,也一样。即监测分支中有序列并且其中有等待的节点的,在其他监测分支满足情况的时候都会出现崩溃。

调试:在执行BranchTask::execCurrentTask中的BranchTask* parentBranch = this->m_currentTask->GetParent();时候m_currentTask为NULL了。

 

最新提问 4月 14, 2016 用户: zy735310102 (500 分)
好的,我们安排排查下。多谢告知。后续有结果了会在帖子里回答。请关注。

1个回答

0 喜欢 0 不喜欢
排查过,重现不了。

感觉你的这个问题可能是“切换行为树节点”引起的。你可以确认下。

另外切换行为树这个函数你是怎么实现的?
最新回答 4月 15, 2016 用户: jonygli (58,410 分)

恩,我确认下是不是切换行为树节点引起的。可能实现有问题。目的,是离开现在的行为树,由新的行为树接管。帮我看下我现在的切换实现是不是有问题。或者给个实现方案。

 

从表现上看不是切换引起的。因为第一个监测分支,我如果把分支动作的序列改成简单的一个动作节点,普通攻击。就不会出现崩溃。改成序列然后普通攻击后等待一段时间,如果这个时候其他分支满足条件了。切换了才出现崩溃。
我们在计划提供一个切换行为树的节点,可以动态的指定某个行为树。
对了,请使用最新的版本。最好使用3.3.16试试看。
恩,希望尽快啊。因为这个节点还是蛮重要的。不可能把所有的行为都写在一棵树上。
如果还有重现,请提供堆栈以及log文件和worksapce的zip包,我来排查。
现在有了一个新版本,估计能解决你的问题.需要的话请联系我,我传给你试试看。
...