美文网首页
界面上的有限状态机(七)

界面上的有限状态机(七)

作者: 寻找无名的特质 | 来源:发表于2020-12-28 06:08 被阅读0次

前面介绍了界面有限状态机https://github.com/jakesgordon/javascript-state-machine的基本使用方法,这个状态机的另一个有用的功能是流程的可视化显示,通过使用state-machine-visualize插件可以根据状态机的定义生成.dot语言描述的图形格式,然后可以将.dot描述的流程转换为流程图。插件的使用非常简单,如果在浏览器使用,只有引用插件就可以直接调用生成.dot语言的方法,示例代码如下:

<!DOCTYPE html> 
<html>
<head>
  <title>Javascript Finite State Machine</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  <style>
      .green {background:green}
      .red {background:red}
      .yellow {background:yellow}
  </style>
</head> 
 
<body> 

  <div >
    <div id="controls">
        <button id="clear" onclick="Demo.clear();">解除</button>
        <button id="calm"  onclick="Demo.calm();">降级</button>
        <button id="warn"  onclick="Demo.warn();">警告</button>
        <button id="panic" onclick="Demo.panic();">严重!</button>
        <button id="vis" onclick="vis();">生成Dot</button>
      </div>

    <div id="diagram" style="width: 200px; height: 200px;">
    </div>

    <textarea id="output">
    </textarea>
    <textarea id="dot" style="width: 200px; height: 200px;">
    </textarea>
  </div>


  <script src="dist/state-machine.js"></script>
  <script src="dist/state-machine-visualize.js"></script>
  <script src="js/index.js"></script>
<script>
  function vis(){
    var dot=StateMachineVisualize(Demo);
    document.getElementById('dot').value=dot;
   
  }
  
</script>
</body> 
</html>

下面是运行的结果:


图片.png

可以使用其它插件将生成的.dot转换为流程图。

相关文章

  • 界面上的有限状态机(七)

    前面介绍了界面有限状态机https://github.com/jakesgordon/javascript-sta...

  • 界面上的有限状态机(三)

    前面介绍了状态和转移的基本用法,还有一些针对复杂场景的高级功能,这里介绍一下。 状态通配符“*” 前面我们提到了,...

  • 界面上的有限状态机(四)

    前面介绍了有限状态机的状态和转换,具体界面响应是在状态转换时进行的,比如如果用户按了按钮,某些控件会不可见,这些动...

  • 界面上的有限状态机(六)

    界面状态机本身不记录历史状态,如果需要查看状态的转换历史,或者需要回滚等功能,可以使用插件。如果在浏览器中使用,可...

  • 界面上的有限状态机(二)

    前面介绍了Js开发的有限状态机,这里介绍一下这个有限状态机涉及的基本概念——状态(State)和转移(Transi...

  • 界面上的有限状态机(五)

    前面介绍了有限状态机状态转换时激发的事件,这些事件可以在状态机methods种定义捕获函数,这些函数会传入一个li...

  • 界面上的有限状态机(一)

    如果Web界面中涉及若干状态以及状态之间的转换,采用有限状态机管理界面可以使代码结果更清晰、更容易管理,也更容易描...

  • 界面上的有限状态机(八)

    前面我们创建一个有限状态机都是直接使用构造函数,比如: 如果我们希望创建多个定义相同的有限状态机实例,我们可以使用...

  • 有限状态机与JavaScript

    有限状态机与JavaScript 有限状态机是一种很有用的编程模型,简单来说,我理解的有限状态机一个显著的作用是降...

  • cocos creator主程入门教程—— 有限状态机和行为树

    本篇介绍有限状态机和行为树。有限状态机用于有限的状态下的AI,由于同时只能处于一个状态,多个状态需要多个有限状态机...

网友评论

      本文标题:界面上的有限状态机(七)

      本文链接:https://www.haomeiwen.com/subject/klvjnktx.html