uml - 如何在 GUI 中绘制连续的用户事件图?
问题描述
我正在尝试创建用户交互图表。在许多情况下,我必须采用一些参数,例如: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
我的第一个想法是通过状态机来绘制这种行为,尽管对于更复杂的示例它会变得混乱。也许有一些建模语言被设计来模拟这些行为?
解决方案
你的逻辑是一种决策树。这可以最好地使用活动图来建模。每个 if 语句都是图中的一个决策符号。
推荐阅读
- c++ - 将向量拆分为向量数组
- android - 世博会应用程序访问位置,但从不使用
- json - 在flutter_form_builder中的FormBuilderRadioGroup中显示复杂的json
- swift - 是什么导致了 observeSingleEvent 而不是 .observe(DataEventType.value?
- bert-language-model - NER的deeppavlov训练一直失败
- sql - 我的 SQlite 太慢而无法返回某些东西,有没有办法让它更快?
- python - (Discord.py)我为用户提供角色的命令不起作用
- python - 使用 ElementTree 修改 Flask 上的 XML 请求
- laravel - Laravel CSRF 处理第二个(第三个等)ajax 请求
- sql - SQL获取一天中的第一个和最后一个小时