Skip to content

事件

每条判定线上存在若干事件,用于描述判定线在不同时刻的行为

判定线事件共有五种类型,分别控制判定线的五种属性:

名称描述备注
X控制判定线位移的 X 坐标
Y控制判定线位移的 Y 坐标
旋转控制判定线的旋转角度
透明度控制判定线的透明度取值范围:[0, 255]
速度控制判定线的基准速度缓动恒定为线性,可以为负数 (在速度章节中详细了解)

事件拥有下列属性:

名称类型描述
类型枚举事件的类型,可以为 XY旋转透明度速度
开始拍数拍数事件开始的拍数
结束拍数拍数事件结束的拍数
复合类型事件的值,见下文

事件的值

判定线事件的值分为两种类型:「过渡」和「常量」

过渡事件

过渡事件描述了:判定线在两个给定拍数期间,对应属性由 开始值特定缓动 变化为 结束值

过渡事件的值拥有下列属性:

名称类型描述
开始值浮点数事件开始时的值
结束值浮点数事件结束时的值
缓动缓动事件的缓动 (在缓动章节中详细了解)

常量事件

常量事件描述了:判定线在两个给定拍数期间,对应属性恒定为 事件的值

常量事件经常被视为「一个有长度的瞬时事件」

常见的使用场景包括:瞬间移动的判定线、操作不可见判定线、……

常量事件的值拥有下列属性:

名称类型描述
浮点数该事件的值

事件的运算方法

事件的结束值对判定线的影响会持续至下一个事件开始。若没有下一个事件,则会持续至谱面结束

举例说明,给定下列的判定线事件:

编号类型开始拍数结束拍数
1旋转0+0/11+0/1过渡:0 -> 90 (Linear)
2旋转2+0/13+0/1常量:270
3旋转4+0/15+0/1过渡:180 -> 0 (EaseInOutSine)

则该判定线的旋转行为可以描述为:

开始结束判定线行为备注
0+0/11+0/1匀速从 0 度旋转至 90 度事件 1
1+0/12+0/1恒定为 90 度事件 1 的结束值持续至事件 2 开始
2+0/13+0/1恒定为 270 度事件 2
3+0/14+0/1恒定为 270 度事件 2 的结束值持续至事件 3 开始
4+0/15+0/1以 EaseInOutSine 从 180 度旋转至 0 度事件 3

event-evaluation-demo

基于 LGPL 协议发布