首页 > 代码库 > 状态机学习---处理连续性问题的利器

状态机学习---处理连续性问题的利器

原理
     有限状态机 把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理。
 
状态机编程思想特点
        与传统的上下文编程不同,状态机将程序的行为划分为若干个状态,对于每一个状态规定其行为和可能的状态转换关系。状态机的状态即可以由其内部定义的状态转换关系改变,也可由外部操作改变,从而影响状态机的行为
 
问题情景:动画切换。
clock svg 从箭头 变为时钟 -》字体从无到有  
arc 从一条线变为一个时钟  -》字体从无到有  
arrow svg 从时钟变为箭头 -》字体从无到有  
 
适用于需要保持自身连续性的程序
 
问题情景:[音乐播放器]编写音乐播放器,控制其播放、停止、暂停、继续等。
 
continue 继续 找到文件 跳转至播放状态
close 停止   可跳转至播放状态
playing 播放 播放文件-直到结束-然后停止 可跳转到停止或暂停状态
wait 暂停   可跳转至播放状态
over 终止 结束过程  
 
以前没接触过这些东西,导致在处理连续性的动画问题时,大量的使用sertimeout来处理,经常会产生动画混乱,并且不容易修改。改了又改,但还是一直有问题,直接接触到这个理念,感觉特别有用,使代码的结构一下子清晰不少。同时深感程序设计思想学习的重要性,希望同样遇到这种问题的你,通过这种方法解决问题。

 

状态机学习---处理连续性问题的利器