有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型 -- 引用的解释:
有限状态机(FSM)是游戏AI的一种常用模型,我做一个简单的记录,在Unity中实现有限状态机模型.
创建一个AIController,绑定在怪物身上,用于控制怪物做什么事情
//初始化一个默认状态机FSM用于传递状态机,创建一个FSM绑定在怪物身上
如图所示 简单的可以认为摇杆由1、2、3贴图组成
可以理解这就是街机上的摇杆
- 最外面绿色的矩形为可点击区域
- 黑色矩形为摇杆的显示区域
摇杆在操作结束后会回到抬起位置(如图状态)
摇杆的可点击区域有限制(如图绿色框)
摇杆的显示区域有限制(如图黑色框 作用:防止摇杆一半在屏幕外 )
摇杆的中心位置随点击位置改变(如果在显示区域外则取临界值)
更据上面的规则定义public变量可以方便策划大佬运行状态随时修改
首先我们把摇杆系统分解成状态、动作
动作、状态区别(重点)
这些动作、状态是我边测试边写代码总结出来的
使用枚举定义摇杆的几种状态、动作可源代码中找到对应的方法
手指按下切换到---按下动作
手指抬起切换到---抬起动作
按下动作执行完成切换到---准备状态
如果你理解了摇杆系统,但遇到了一些技术上的问题,下面的方法可能帮助你
如果有更好的办法 求大佬赐教
UI、适配由NGUI实现,需要导入NGUI到工程中(NGUI有点大,没上传)
从页游到手游,一直从事游戏开发,使用过DirectX,Cocos2dx,Unity;开发过街机,卡牌,横版格斗...