CocosCreator 2.x 实现角色有限状态管理 (FSM)

:+1::+1::+1::+1::+1::+1:

好像在spritekit看到过一个成熟框架,要是能翻译成js就棒了

Nice work

Mark 学习一下

学习了 :+1:

愿意学习:)

1赞

:innocent: :grinning:

网上各种资料指的是游戏编程模式那本书吧 :grimacing:

这本书写的很清晰,用例也参考了这本书

:+1:后生可畏啊

不错不错,思路细腻,逻辑清晰,文笔丝滑。

:+1: :+1: :+1: :fist: :fist: :fist:

写得很好。我以前的状态真的是写在player.ts里的,越写越多。哈哈。 :joy:

看来都看过了 哈哈

楼主大大可以贴一下源码不

源码的每个部分已经都写在文章里面了哦

俺有点疑惑就是状态从一个状态切换到另一个状态,Animator是咋调用的,是在对应的state类里直接调Animator.switchState(xxx)吗 比如在站立状态 然后按下keyDown,跳起来的动作是写在站立状态类里keyDown然后调Animator.switchState(jump),还是直接调用Animator.switchState(jump),跳起来的动作写在jump状态类的onEnter里

角色的切换动作函数switchState可以通过角色类的Animator调用,在状态内就可以获取到this._role字段从而获取Animator。你理解的基本都ok,具体的逻辑可以根据需求自己调整。
这里的状态只是作为FSM这一个框架内“名义上”的状态,切换图片帧还是播放骨骼动画等这些实际的显示方式,一般在状态的OnEnter()里面实现。

谢谢楼主大大 :laughing:

楼主的文章上GameRes了