特殊事件
本页讲解RPE的特殊事件,俗称故事板,位于事件编辑的第五个层级。
每一个事件字段都对应一个 JsonArray
,每一个元素对应一个事件。
除了 inclineEvents
(倾斜事件),其他事件在没有使用时都没有对应字段
colorEvents
颜色事件,可以控制判定线或纹理的颜色,它包含以下字段:
字段名 | 类型 | 描述 | 默认值 | 加入版本 |
---|---|---|---|---|
bezier | int | 缓动是否为贝塞尔曲线,0 为不是,1 为是 | 0 | - |
bezierPoints | JsonArray | 贝塞尔曲线控制点,当bezier 为1 时生效,详见百度百科 | [ 0.0, 0.0, 0.0, 0.0 ] | - |
easingLeft | float | 缓动的左边界位置,最小为 0.0 ,最大为 1.0 | 0.0 | - |
easingRight | float | 缓动的右边界位置,最小为 0.0 ,最大为 1.0 | 1.0 | - |
easingType | int | 缓动类型,详见extend | 1 | - |
linkgroup | int | - | - | - |
start | JsonArray | 事件开始时颜色,三个值分别对应 RGB ;最大为 255 ,最小为 0 | - | - |
startTime | beat | 事件开始的时间 | - | - |
end | JsonArray | 事件结束时颜色,三个值分别对应 RGB ;最大为 255 ,最小为 0 | - | - |
endTime | beat | 事件结束的时间 | - | - |
scaleXEvents
X轴缩放事件,可以控制判定线、纹理或文字的宽度缩放,它包含以下字段:
字段名 | 类型 | 描述 | 默认值 | 加入版本 |
---|---|---|---|---|
bezier | int | 缓动是否为贝塞尔曲线,0 为不是,1 为是 | 0 | - |
bezierPoints | JsonArray | 贝塞尔曲线控制点,当bezier 为1 时生效,详见百度百科 | [ 0.0, 0.0, 0.0, 0.0 ] | - |
easingLeft | float | 缓动的左边界位置,最小为 0.0 ,最大为 1.0 | 0.0 | - |
easingRight | float | 缓动的右边界位置,最小为 0.0 ,最大为 1.0 | 1.0 | - |
easingType | int | 缓动类型,详见extend | 1 | - |
linkgroup | int | - | - | - |
start | float | 事件开始时缩放 | 1 | - |
startTime | beat | 事件开始的时间 | - | - |
end | float | 事件结束时缩放 | 1 | - |
endTime | beat | 事件结束的时间 | - | - |
scaleYEvents
Y轴缩放事件,可以控制判定线、纹理或文字的高度缩放,它包含以下字段:
字段名 | 类型 | 描述 | 默认值 | 加入版本 |
---|---|---|---|---|
bezier | int | 缓动是否为贝塞尔曲线,0 为不是,1 为是 | 0 | - |
bezierPoints | JsonArray | 贝塞尔曲线控制点,当bezier 为1 时生效,详见百度百科 | [ 0.0, 0.0, 0.0, 0.0 ] | - |
easingLeft | float | 缓动的左边界位置,最小为 0.0 ,最大为 1.0 | 0.0 | - |
easingRight | float | 缓动的右边界位置,最小为 0.0 ,最大为 1.0 | 1.0 | - |
easingType | int | 缓动类型,详见extend | 1 | - |
linkgroup | int | - | - | - |
start | float | 事件开始时缩放 | 1 | - |
startTime | beat | 事件开始的时间 | - | - |
end | float | 事件结束时缩放 | 1 | - |
endTime | beat | 事件结束的时间 | - | - |
textEvents
文字事件,可以控制文字的显示,它包含以下字段:
字段名 | 类型 | 描述 | 默认值 | 加入版本 |
---|---|---|---|---|
bezier | int | 缓动是否为贝塞尔曲线,0 为不是,1 为是 | 0 | - |
bezierPoints | JsonArray | 贝塞尔曲线控制点,当bezier 为1 时生效,详见百度百科 | [ 0.0, 0.0, 0.0, 0.0 ] | - |
easingLeft | float | 缓动的左边界位置,最小为 0.0 ,最大为 1.0 | 0.0 | - |
easingRight | float | 缓动的右边界位置,最小为 0.0 ,最大为 1.0 | 1.0 | - |
easingType | int | 缓动类型,详见extend | 1 | - |
linkgroup | int | - | - | - |
start | string | 事件开始时字符 | - | - |
startTime | beat | 事件开始的时间 | - | - |
end | string | 事件结束时字符 | - | - |
endTime | beat | 事件结束的时间 | - | - |
font | string | 文字字体(本字段需看下方解释) | 请看下方解释 | - |
- 从
152
版本开始,font
字段在为cmdysj
默认字体时不会有本字段,只有有自定义字体时才会存在本字段。 - 在
152
版本之前,font
字段默认存在且默认为cmdysj
。 - 此事件设置缓动可能不会有效,也可能会出现未定义的错误导致模拟器崩溃,详见issue。
- 文字事件的文字中含有
%P%
时,可以让文本中的数字在事件播放过程中根据缓动动态变化。 - 有文字事件的判定线会始终隐藏,只显示文字(即使播放的地方没有文字事件),也会清除自定义纹理。
- 有文字事件但是没有颜色事件时,文字的颜色会始终为白色。
- 从
153
版本开始,文字事件中的文字可以包含\n
换行符且有效(其他的不可用)。
paintEvents
画笔事件,此事件在 143
版本被 shader
编辑功能取代。
gifEvents
GIF播放进度事件,此事件在 150
版本与GIF判定线纹理一同加入,用于控制GIF的播放进度。
字段名 | 类型 | 描述 | 默认值 | 加入版本 |
---|---|---|---|---|
easingType | int | 缓动类型,详见extend | 1 | - |
linkgroup | int | - | - | - |
start | float | 事件开始时GIF的播放进度 | - | - |
startTime | beat | 事件开始的时间 | - | - |
end | float | 事件结束时GIF的播放进度 | - | - |
endTime | beat | 事件结束的时间 | - | - |
- 若判定线纹理是GIF但是没有
gifEvents
时,GIF会自动循环播放。 - GIF的第一帧为
0.0
,最后一帧为1.0
,若播放进度超出此范围,GIF将会自动循环播放。 - 若当前播放进度没有
gifEvents
时,GIF会自动循环播放。 - 文字事件同样会将此纹理清除。
- 超过
15MB
大小的GIF会使RPE在加载谱面时弹出解码失败。 - 纹理为GIF以后,流速事件会被替换为此事件的编辑,所以理论上此事件不可能与流速事件同时出现。
- 位于其他层级的
gifEvents
会被忽略,且RPE纠错会标红。
inclineEvents
倾斜事件,疑似已被弃用,但是默认会在 extended
字段下留一个垫底事件。
此事件无法在RPE中编辑。
- 倾斜事件开始结束数值为倾斜角度,对
Hold
无效。 - 此事件年久失修,无法验证其行为,请谅解。