unity状态机实现

刚看了浅墨大神的文章让我对状态机有了进一步的理解

具体实现见装载的状态机文章

 

 

首先得有个总状态HeroineBaseState接口,其里面的方法主要是与行为相关的方法,让继承此接口的类来实现的

具体的状态写成其分支4个类,他们是需要去具体实现接口方法,并且会拿到Heroine的对象

Heroine拿到HeroineBaseState 对象,可以让其使用SetHeroineState方法来转换各种状态,这种转换方法是通过new其不同分支来进行转换的,其方法具体的调用是通过四个分支里拿到的Heroine对象调用SetHeroineState方法来实现的

这种做法实现了在一种状态里面就只能做该状态所规定做的一些事情,无法做不该做的事情

比如说一个人在地上,在地上你可以跳跃和下蹲,如果你跳跃了,那么进入跳跃状态这个类里面,但是在跳跃这个类里面只定义了下斩的方法,那么你在跳跃状态时只能做下斩操作,做不了其他操作

这就是该状态机实现的思路

 

工程下载地址 :https://files.cnblogs.com/files/sanyejun/FSM.zip

posted @   三页菌  阅读(1419)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示