变量

变量是 UML 中可以被读取或者写入的值, 定义方式如下:

let name = value

定义一个变量 name, 其值为 value. value 可以是 FloatRect 类型的值, 或结果是 FloatRect 类型的表达式.

变量可以被重复定义, 但只有最后一次定义的值会被使用. 定义变量后, 你可以在新建元素或定义其他变量时使用这个变量.

内置变量

UML 内置了如下变量:

  • t: 当前时间, 单位为秒
  • top: 实际高度与实际宽度之比
  • o: 滑动距离
  • joined: 是否已经参与了该活动, 参与了时值为 1, 否则为 0
  • $h: 用户能滚动的最大高度, 通过设置该变量的值来限制用户的滚动范围

UML 并不具备事件功能, 可以利用 t, o按钮的按下时刻来为页面添加动态效果, 如动画, 换页等.

全局变量

全局变量是在 UML 文件的任何地方都可以被读取或者写入的变量. 全局变量的定义方式如下:

global name = @type

其中, type 只能为 btn. 此后, 你仍然可以通过 let 的方式写入全局变量, 只有最后一次定义的值会被使用.

活动界面在每一帧都会被重画, 这意味着 UML 在每一帧都会重新计算所有变量的值.

按钮的一些属性需要在帧之间保持不变, 因此需要使用全局变量.