参数 Props
参数是对 APC 运行的说明,告知指令该如何运行,Props 在 Attr 之前进行处理;
参数严格按照 "=" 连接左右值的格式进行书写,位于 Target 右侧。
- 例如
calc
指令对变量进行一系列运算:@var x value=1 @calc x +=10 -=(-5|-2) /=0 ; 上方 calc 指令分别接受了三个参数,它们将被解析成键值对,对应关系如下: ; + => 10 ; - => [-5, -2] : / => 0 ; 通过运算 x 的值最终将为 Infinity
参数的多种类型
- Number - 数字类型
- 表示数字,
Infinity
是一个有效的数字值,代表无穷大 - 例:
time=1000 repeat=Infinity
- 表示数字,
- String - 字符串
- 表示文本,引擎会自动尝试转化为
Number
或Boolean
,请自行避免冲突 - 例:
url=轻文轻小说
- 表示文本,引擎会自动尝试转化为
- Boolean - 逻辑类型
- 表示逻辑值,仅有2个值:
true
与false
- 例:
value=true value=false
- 表示逻辑值,仅有2个值:
- List - 集合类型
- 具有多个元素,每一个元素可以是上方三种类型的任意一种。
- 通过( )声明集合,| 来区分每个元素,每个元素的类型可以不同。
- 例:
add=(1|2|轻文轻小说|false) sub=(1|-2|3|-4)
参数的变量使用
props 可以使用已经定义过的值
@var bgm value=轻文主题曲
@var fadeTime value=1000
@play BGM1 url={{bgm}} time={{fadeTime}}
标签 Attr
标签可以启用 APC 所内置的特殊功能,Attr 在 Props 之后进行处理。
例如
calc
指令的round
标签,它可以将运算结果进行四舍五入:@var x value=10 type=number @calc x *=3.1415 round ; x 经过运算后值为 31
例如
avg.animation
指令的yoyo
标签,它可以将多次动画运动的起始值、结束值反复交换,而不是从头开始重复相同的顺序:@avg.create FG5 #avg.set FG5 url=对话框 @avg.animation FG5 x=5 yoyo repeat=Infinity time=33 ; FG5 图层的 x 会一直在 0~5 之间不断运动( 0->5,5->0,0->5.... ),单次时长 33 ms、次数无限。