有限状态机

Posted d25t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有限状态机相关的知识,希望对你有一定的参考价值。

 unity中已经包含了自动给定的状态机组件Animator,但是面对不同脚本的触发,往往会使状态冲突,所以我们需要使用自己定义的状态机来解决这个问题

    我们在进行游戏的时候,控制的人物会有各种状态,站立,跑动都是状态,那么所有的状态都有一个共同的属性,那就是
    他们都是状态 .......我编不下去了 总之我们可以抽象出来一个状态的基类,然后让不同的具体状态去继承这个状态类,那么这个基类里面要有什么呢
    我们换状态的时候,新状态要进入,旧状态要退出,在不换状态的时候,则要一直执行当前状态,所以基类中要有三个方法,分别为进入状态,状态持续,退出状态的三个方法,为了区分不同的状态,还要有个状态的标识,可以用数字来标识当前状态是什么

    然后打包一个状态事件,包括带有动画机的游戏物体,动画机,一个自定义的有限状态机

代码

代码技术图片

  然后为了演示,简单定义一个走动的状态

技术图片

 自定义状态机本身要持有一个当前状态对象,一个上一个状态对象,一个当前状态执行时需要的数据,还要有一个转变状态的方法技术图片

 

 

 

 



 

以上是关于有限状态机的主要内容,如果未能解决你的问题,请参考以下文章

动画状态机是有限状态机还是行为树

Verilog笔记.3.有限状态机

有限状态机

[UE4]有限状态机动画状态机纯函数

如果在设计有限状态机时,未使用状态的下一个状态设置为初始状态,这种方法称为最小状态( )接近?

利用简单的有限状态机(FSM)来实现一个简单的LED流水灯