写了一年小游戏了,至今没用过状态机。
有个大神室友,写游戏总用状态机(游戏状态机,动画状态机...),感觉他写代码结构十分清晰,不像我,写着写着就乱了,然后没激情了,然后想重写了。
大神室友教过我搭建一个状态机的框架(他念一句,我写一句),然而即使是这样,我也没能学会如何用状态机编程。
大概两三周时间,内心经历如下:
尴尬->惭愧->自责->懒惰->失望->振奋->行动
所以,在一番回忆无果后,决定自己开始摸索。各种搜索一番[状态机][状态机编程][状态机模式]后,写了几个小例子:
以[电梯]作为例子来学习FSM
实例目录 Classes/TestElevator
刚好Cocos2d-x引擎用来顺手,就直接借用它的UI来实现这个例子了。实例所用环境cocos2d-x 3.10。
开发语言是C++,除了显示部分可能有用到引擎。示例的主要逻辑是与引擎无关的,即使直接去看源码也是没有任何问题的。
附中英文注释。(为什么是中英文?...因为我英文差,没法全英文)
计划写几篇文章来作为每一个例子(对电梯示例的多种实现)的总结:
- [因为我不懂啊]-什么是状态机编程(设计模式)(0)
- [因为我不懂啊]-什么是状态机编程(设计模式)(1)
- [因为我不懂啊]-什么是状态机编程(设计模式)(2)
- [因为我不懂啊]-什么是状态机编程(设计模式)(3)
希望我这个笨脑袋能够从中学到点什么。
网友评论