Unity战斗系统 角色基础功能(一)

这篇博客介绍了如何在Unity中使用C#代码创建和管理有限状态机,以实现战斗系统的角色基础功能。作者参照了Joker_Unity的教程视频,通过创建状态基类和有限状态机基类,来处理角色的移动、攻击等不同状态。文章包含状态基类和有限状态机基类的成员变量和方法的详细说明。
摘要由CSDN通过智能技术生成

使用代码关联unity有限状态机

注:参考来自b站up主 Joker_Unity 的教程视频,完整视频链接:
unity中文课堂

在战斗系统中通常使用有限状态机对角色的各个状态(移动、攻击等)进行管理。为了应对复杂的状态转化,我们可以使用C#代码自定义状态机或行为树的节点。

先创建所需的基类:

  1. 状态基类
  2. 有限状态机基类(后续角色的基类)

在unity中创建 StateBase 、FSMController 脚本,如下:

创建状态基类

在该基类中应具有以下成员:

  1. 当前的状态(枚举值)
  2. 持有该状态对象的控制器
  3. 初始化函数
  4. 进入、停留、离开该状态时的函数

在定义枚举值时,由于后续需求的枚举类型是未知的,因此我们使用宽泛的Enum类型:

public Enum stateType;

完整代码如下:

using System;

/// <summary>
/// 状态对象基类
/// 之后的所以状态都继承自这个基类
/// 如:idel wlak attack
/// </summary>
public abstract class StateBase
{
   
    //当前 状态对象 代表的 枚举状态
    public Enum stateType;
    //当前控制的角色(角色控制器)
    public FSMController controller;

    public virtual void Init(FSMController controller, Enum stateType)
    {
   
        this
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值