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

求问状态机作为行为树的一个子树,如何在结束时返回不同的状态?

0 喜欢 0 不喜欢
91 浏览

我设置了如下两种状态,但是在退出的时候都是success。<!--StartFragment -->

imageimage

日志如下:

image

状态机设置:

image

行为树:

image

最新提问 8月 8, 2016 用户: nalan (200 分)

1个回答

0 喜欢 0 不喜欢

目前的实现

	{
			BehaviorTask* currentState = this->GetChildById(this->m_currentNodeId);
            //BEHAVIAC_ASSERT(currentState->GetNextStateId() == -1, "m_nextStateId is not reset to -1 in onenter");
			currentState->exec(pAgent);

			if (StateTask::DynamicCast(currentState) != 0)
			{
				StateTask* pStateTask = (StateTask*)currentState;

				if (pStateTask->IsEndState())
				{
					return BT_SUCCESS;
				}
			}

当遇到“结束状态“”的时候,总是返回成功。你的函数的返回值没有使用。

最新回答 8月 8, 2016 用户: jonygli (58,410 分)
好吧~了解了
...