变量
变量是 UML 中可以被读取或者写入的值, 定义方式如下:
let name = value
定义一个变量 name, 其值为 value. value 可以是 Float 或 Rect 类型的值, 或结果是 Float 或 Rect 类型的表达式.
变量可以被重复定义, 但只有最后一次定义的值会被使用. 定义变量后, 你可以在新建元素或定义其他变量时使用这个变量.
内置变量
UML 内置了如下变量:
- t: 当前时间, 单位为秒
- top: 实际高度与实际宽度之比
- o: 滑动距离
- joined: 是否已经参与了该活动, 参与了时值为- 1, 否则为- 0
- $h: 用户能滚动的最大高度, 通过设置该变量的值来限制用户的滚动范围
UML 并不具备事件功能, 可以利用
t,o和按钮的按下时刻来为页面添加动态效果, 如动画, 换页等.
全局变量
全局变量是在 UML 文件的任何地方都可以被读取或者写入的变量. 全局变量的定义方式如下:
global name = @type
其中, type 只能为 btn. 此后, 你仍然可以通过 let 的方式写入全局变量, 只有最后一次定义的值会被使用.
活动界面在每一帧都会被重画, 这意味着 UML 在每一帧都会重新计算所有变量的值.
但按钮的一些属性需要在帧之间保持不变, 因此需要使用全局变量.