有限状态机FSM详解(三)

本文详细介绍了如何在Unity中使用C#构建有限状态机(FSM),包括移动、跳跃、攻击和待机四种状态。每个状态类继承自State基类,并包含到其他状态的转换实例。状态转换通过角色类的键盘输入属性判断,文章探讨了状态转换类数量过多的问题并邀请读者提供优化建议。下篇将给出具体代码实现。
摘要由CSDN通过智能技术生成

这篇讲解如何使用第二篇中写好的类。

我们使用的是游戏角色的移动、跳跃、攻击、待机四个状态来讲,那么我们要构建出这四个状态,需要设计的模型是什么呢?

需要设计一个角色类、一个驱动角色实例的运行环境<Unity的MonoBehaviour就行了>。

那我们设计角色类,角色类中持有四个状态类的实例、一个状态机实例。

首先是四个状态类:

    移动状态类(继承State类)

        移动状态类中持有:

            移动状态到跳跃的状态转换实例、移动状态到攻击的状态转换实例、移动状态到待机的状态转换实例

            其中移动状态到跳跃状态需要考虑设计是否能在移动状态中跳跃,是否能在移动状态中实行攻击,是否能在移动状态中待机(当然不能在移动状态中待机了,边移动边待机是什么鬼)。

    跳跃状态类(继承State类)

        跳跃状态类中持有:

            跳跃状态到其他三个状态类的转换实例

    攻击状态类(继承St

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值