我正在尝试创建用户交互图表。在许多情况下,我必须采用一些参数,例如:mousePosition.x 或 touchDown.duration 等,并将其传递给一些 f(x) 函数,以使用这些参数作为接口属性来呈现不同的 UI。
让我们以基本滑块界面为例。[-----o-----]
我想画出操纵滑块旋钮的简单行为。我的逻辑如下:
pre condition: mousePosition.x = knobPosition.x; knobPosition.x = n
event: mosuseDown
event: mouseMove.x
if knobPosition.xMin < mousePosition.x < knobPosition.xMax
render: knobPosition.x = mousePosition.x
if ( mousePosition.x > knobPosition.xMax )
render: knobPosition.x = knobPosition.xMax
if ( mousePosition.x < knobPosition.xMin )
render: knobPosition.x = knobPosition.xMin
我的第一个想法是通过状态机来绘制这种行为,尽管对于更复杂的示例它会变得混乱。也许有一些建模语言被设计来模拟这些行为?