这篇接上篇给出整个代码和使用案例。
角色类:
public class Player
{
private JyStateMachine FSM;
private MoveState _move;
private JumpState _jump;
private AttackState _attack;
private IdleState _idle;
public string KeyBoard;
public Player()
{
_move = new MoveState();
_jump = new JumpState();
_attack = new AttackState();
_idle = new IdleState();
// 添加move的转换
_move.AddTransition(new MoveToIdle("MoveIdle", _move, _idle, this));
_move.AddTransition(new MoveToAttack("MoveAttack", _move, _attack, this));
_move.AddTransition(new MoveToJump("MoveJump", _move, _jump, this));
// 添加jump的转换
_jump.AddTransition(new JumpToIdle("JumpIdle", _jump, _idle, this));
_jump.AddTransition(new JumpToAttack("JumpAttack", _jump, _attack, this));
_jump.AddTransition(new JumpT
Unity游戏开发:有限状态机FSM实战解析

本文详细介绍了有限状态机FSM的概念,并结合Unity和C#语言,展示了在游戏开发中如何实现角色状态的切换,包括攻击状态、待机状态等,提供了完整的代码示例和转换逻辑。
最低0.47元/天 解锁文章
513

被折叠的 条评论
为什么被折叠?



