U3L14-1——有限状态机
U3L14-1——有限状态机
有限状态机
有限状态机(Finite - state machine, FSM)
又称 有限状态自动机,简称 状态机
是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型
有限:表示是有限度的不是无限的
状态:指所拥有的所有状态
游戏开发中某些系统中存在有限种状态的切换变化时
我们可以使用有限状态机的设计思路来进行逻辑编写
举例说明:
假设我们人会做很多个动作,也就是有很多种状态
这些状态包括 站立、走路、跑步、攻击、防守、睡觉等等
我们每天都会在这些状态中切换,而且这些状态虽然多但是是有限的
当达到某种条件时,我们就会在这些状态中进行切换
而且这种切换时随时可能发生的
有限状态机对于我们的意义
游戏开发中有很多功能系统都是有限状态机
最典型的状态机系统
动作系统 —— 当满足某个条件切换一个动作,且动作是有限的
AI(人工智能)系统 —— 当满足某个条件切换一个状态,且状态是有限的
所以状态机是游戏开发中一个必不可少的概念
最简单的状态机实现
最简单的状态机实现代码就是基于switch的实现
假设我们只有一个值来控制当前玩家的状态
1 | string animName = "idle"; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!