事件
每条判定线上存在若干事件,用于描述判定线在不同时刻的行为
判定线事件共有五种类型,分别控制判定线的五种属性:
名称 | 描述 | 备注 |
---|---|---|
X | 控制判定线位移的 X 坐标 | |
Y | 控制判定线位移的 Y 坐标 | |
旋转 | 控制判定线的旋转角度 | |
透明度 | 控制判定线的透明度 | 取值范围:[0, 255] |
速度 | 控制判定线的基准速度 | 缓动恒定为线性,可以为负数 (在速度章节中详细了解) |
事件拥有下列属性:
名称 | 类型 | 描述 |
---|---|---|
类型 | 枚举 | 事件的类型,可以为 X 、Y 、旋转 、透明度 或 速度 |
开始拍数 | 拍数 | 事件开始的拍数 |
结束拍数 | 拍数 | 事件结束的拍数 |
值 | 复合类型 | 事件的值,见下文 |
事件的值
判定线事件的值分为两种类型:「过渡」和「常量」
过渡事件
过渡事件描述了:判定线在两个给定拍数期间,对应属性由 开始值
以 特定缓动
变化为 结束值
过渡事件的值拥有下列属性:
名称 | 类型 | 描述 |
---|---|---|
开始值 | 浮点数 | 事件开始时的值 |
结束值 | 浮点数 | 事件结束时的值 |
缓动 | 缓动 | 事件的缓动 (在缓动章节中详细了解) |
常量事件
常量事件描述了:判定线在两个给定拍数期间,对应属性恒定为 事件的值
常量事件经常被视为「一个有长度的瞬时事件」
常见的使用场景包括:瞬间移动的判定线、操作不可见判定线、……
常量事件的值拥有下列属性:
名称 | 类型 | 描述 |
---|---|---|
值 | 浮点数 | 该事件的值 |
事件的运算方法
事件的结束值对判定线的影响会持续至下一个事件开始。若没有下一个事件,则会持续至谱面结束
举例说明,给定下列的判定线事件:
编号 | 类型 | 开始拍数 | 结束拍数 | 值 |
---|---|---|---|---|
1 | 旋转 | 0+0/1 | 1+0/1 | 过渡:0 -> 90 (Linear) |
2 | 旋转 | 2+0/1 | 3+0/1 | 常量:270 |
3 | 旋转 | 4+0/1 | 5+0/1 | 过渡:180 -> 0 (EaseInOutSine) |
则该判定线的旋转行为可以描述为:
开始 | 结束 | 判定线行为 | 备注 |
---|---|---|---|
0+0/1 | 1+0/1 | 匀速从 0 度旋转至 90 度 | 事件 1 |
1+0/1 | 2+0/1 | 恒定为 90 度 | 事件 1 的结束值持续至事件 2 开始 |
2+0/1 | 3+0/1 | 恒定为 270 度 | 事件 2 |
3+0/1 | 4+0/1 | 恒定为 270 度 | 事件 2 的结束值持续至事件 3 开始 |
4+0/1 | 5+0/1 | 以 EaseInOutSine 从 180 度旋转至 0 度 | 事件 3 |