参数 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 - 字符串
    • 表示文本,引擎会自动尝试转化为 NumberBoolean,请自行避免冲突
    • 例:
      url=轻文轻小说
      
  • Boolean - 逻辑类型
    • 表示逻辑值,仅有2个值:truefalse
    • 例:
      value=true value=false
      
  • 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 会一直在 05 之间不断运动( 0->55->00->5.... ),单次时长 33 ms、次数无限。
    

results matching ""

    No results matching ""