你希望实现这样一个计数器:
四次点击,一个组件
首先从组件库里点击文本组件拾取,双击屏幕中央以放置在屏幕中间:
移动鼠标,组件的大小会随着鼠标位置改变。支持预先定义「网格」,来避免取到类似于 16.3724px
的大小。大小合适时单击,表示确认:
从组件库里点击圆形组件拾取,单击屏幕中央,向左移动一段距离,组件的位置会随鼠标位置改变。同样支持预先定义网格,防止取到不规范的位移大小。位置合适时单击,表示确认:
移动鼠标,调整组件大小,满意后确认:
支持设置组件各项属性数值。可设置的数值从组件库 API 爬取,实时渲染真实效果。
一个问题,一项状态
写好了组件排列,你将目光从 UI 视图移动到状态视图:
你问自己,「成品页面里是否有能变动的部分」,得到的答案是「中间显示的数字能变」,因此在 State
中加入 count
字段表示中间的数字:
你问自己 count
固定的情况下,「成品页面里是否还有能变动的部分」,得到的答案是没有,这说明你已经写好了状态!
四次点击,一次状态绑定
为了将 count
状态同步到 UI 视图,你首先在状态视图点击 count
的「输出端子」:
然后切换到「纵切视图」,选择 UI 视图:
最后在 UI 视图选择目标组件的目标变量的「输入端子」:
写事件就像绑状态
你希望点击按钮之后,count
能改变。因此你首先选择按钮框,然后点击 +
来添加事件:
默认事件是 onTap
,即点击事件,正合你意。因此你直接点击右侧立方体编辑事件:
你进入到一个和状态绑定时很相似的「纵切视图」,但注意到另一张视图并不是 UI 视图,而是「新状态视图」:
这里「新状态」就是点击按钮之后状态会变成的样子。
例:清零按钮
假如你希望点击按钮之后数字清零,你可以把新状态视图设置成这样:
例:啥也不做的按钮
假如你希望点击按钮后新状态 count
等于旧状态 count
,你当然可以不加点击事件。但你也可以先切换到旧状态视图,点击 count
的输出端子:
你希望使其决定新状态 count
,所以你切换到新状态视图,点击 count
的输入端子:
例:减一按钮
事实上,你希望新状态 count
等于旧状态 count - 1
。你灵光一现,决定在旧状态层和新状态层之间创建一个「减一层」:
在减一层,你输入了你所期望的公式:
然后你把一切连接起来,便大功告成:
花絮
我本来想把软件叫 CuCl2(氯化铜),因为软件的特色是立方(Cube),人要用两只手(2 Claws)做设计,但似乎太过谜语人,故作为花絮放在这里。