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