Variable

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

let name = value

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

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

Built-in variables

UML 内置了如下变量:

  • t: 当前时间, 单位为秒
  • top: 实际高度与实际宽度之比
  • o: 滑动距离
  • joined: 是否已经参与了该活动, 参与了时值为 1, 否则为 0
  • $h: The maximum height that the user can scroll, limit the user's scrolling range by setting the value of this variable

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

全局变量

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

global name = @type

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

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

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