首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么将STATE模式引用到游戏外挂逻辑里

2013-11-23 
如何将STATE模式引用到游戏外挂逻辑里游戏里面有很多的状态比如接任务的时候,寻找NPC状态,对话状态,还有打

如何将STATE模式引用到游戏外挂逻辑里
游戏里面有很多的状态
比如接任务的时候,寻找NPC状态,对话状态,还有打怪状态,死亡状态
这些状态之间随时可能转换。
我想问下有人将STATE模式应用在外挂上么
如果有的话可以下面回帖,也可以私M我。。交流一下
[解决办法]
游戏和游戏外挂,通常用状态机或者行为树,前者适用于简单游戏逻辑,复杂的可以考虑后者,c++的可以参考
https://code.google.com/p/libbehavior/
里面例子可以直接运行
之前搞d3 wg 是这两个混合用,登录部分用的状态机,里面用的BT
[解决办法]
实现的话,考虑消息驱动还是轮询。前者需要把发送消息接口留给各个游戏功能模块去调,从无到有的话写起来繁琐点。
轮询嘛就给个时间精度做个timer,一般记录下当前状态,ontimer的时候根据状态名去找对应的处理流程。然后把改变状态的方法暴露出来,各个处理流程之间可以根据条件进行切换。状态内部如果需要维护数据就另记。
不过这种东西状态多了之后多多少少行为上会产生冲突,写起来还是要很注意结构性的。
对于外挂这种东西不是所有的功能都是持续性的,即不需要维护状态,比如类似加血这种瞬时性操作我觉得可以汇总一下在ontimer中直接调用。

热点排行