FSM有限状态机
简单说:
就是让动画有三种触发状态(进入触发,保持触发,退出触发),当条件触发了"进入触发"就开始执行动画;"保持触发"就是保持动画的运行;"退出触发"就是退出动画播发,停止播放动画----这样就有了 动画的状态类State
但这还是不够的,还要让状态类能够自我进行识别运行起来,这样就需要一个机器来控制"动画的状态类",来执行(进入触发,保持触发,退出触发)这三个状态----控制状态的机器类Machine
不同的动画属于不同的角色,所以还要有个模板类继承自动画的状态类State,用<T>中的T来定义所属的角色----Template<T>
IdleState,RunState等继承自 动画的状态类State
Machine 机器类,控制状态的切换、保持,状态的存储
Template 模板类,继承自State类,定义了状态机的拥有着
IdleState 角色所有状态中的的某个状态(通常状态),继承自Template<PlayerControl>状态类
PlayerControl 角色控制脚本
State 包含了动画的进入,保持,退出这三种触发状态
Machine 负责控制 State类中的触发状态 在什么情况下执行
负责存储 编号-State类(例如0-IdleState)
State基类:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class S