有限状态机
Posted d25t
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有限状态机相关的知识,希望对你有一定的参考价值。
unity中已经包含了自动给定的状态机组件Animator,但是面对不同脚本的触发,往往会使状态冲突,所以我们需要使用自己定义的状态机来解决这个问题
我们在进行游戏的时候,控制的人物会有各种状态,站立,跑动都是状态,那么所有的状态都有一个共同的属性,那就是
他们都是状态 .......我编不下去了 总之我们可以抽象出来一个状态的基类,然后让不同的具体状态去继承这个状态类,那么这个基类里面要有什么呢
我们换状态的时候,新状态要进入,旧状态要退出,在不换状态的时候,则要一直执行当前状态,所以基类中要有三个方法,分别为进入状态,状态持续,退出状态的三个方法,为了区分不同的状态,还要有个状态的标识,可以用数字来标识当前状态是什么
然后打包一个状态事件,包括带有动画机的游戏物体,动画机,一个自定义的有限状态机
代码
代码
然后为了演示,简单定义一个走动的状态
自定义状态机本身要持有一个当前状态对象,一个上一个状态对象,一个当前状态执行时需要的数据,还要有一个转变状态的方法
以上是关于有限状态机的主要内容,如果未能解决你的问题,请参考以下文章