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

ai对象创建的不同方式的区别

0 喜欢 0 不喜欢
193 浏览
BEHAVIAC_NEW 和 behaviac::Agent::Create<framework::Ship>这2中方式的区别。现在用第一种在debug下会报错。是因为不会调用agent::Init_ 导致在行为更新的时候 m_debug_verify 为0 ,assert了。
最新提问 4月 15, 2016 用户: zy735310102 (500 分)

1个回答

0 喜欢 0 不喜欢
要求使用behaviac::Agent::Create创建Agent。不允许直接使用new或BEHAVIAC_NEW来创建。否则运行的时候有assert!

之所以这样做是因为创建的Agent需要指定contextId,priority等属性。如果是用new的话,需要提供相应带参数的构造函数,同样会带来不少问题。
最新回答 4月 15, 2016 用户: jonygli (57,510 分)
但是用create 好像不能 传参数。构成函数需要参数怎么办。
create肯定可以传参数的。
好吧,现在最多只支持4个参数的重载。现在遇到了需要5个参数的。萌萌哒。我自己再重载几个?
你可以提供一个初试化函数去设定就可以啦。

你想重载也可以。
...