我是Hierarchical State Machines的新手。
当父状态转换到另一个状态时,子状态会发生什么?它是否保持现状?
我想从名为running的父状态转换为名为fault的父状态。一旦故障被清除,我想转换回运行状态并进入第一个子状态。
史蒂芬
答案 0 :(得分:0)
假设低是活动状态,触发EVT_Fault,发生以下序列:
low.exit
running.exit
transition_running_to_fault.effect
fault.entry
(when entry finished, since there is completion transition)
fault.exit
transition_fault_to_running.effect
running.entry
transition_initial_to_low.entry
答案 1 :(得分:0)
退出父状态时,其子状态也应该退出。
要在重新进入父状态时实现子状态的重新进入,您需要一个历史伪状态(深或浅,取决于您的子状态的深度)。
在此处查看示例:http://www.steelbreeze.net/state.js/#examples - 按两次“翻转”按钮可显示行动中的深层历史记录。
DMM