API 参考 / spi 包:音符与判定 SPI
JudgedNoteRenderContext
判定文字/特效渲染上下文:宿主在判定特效层(RenderLayer.JUDGE_FX)为每个存活的特效构造一次,传入 JudgmentKindDefinition.render(RenderCanvas, JudgedNoteRenderContext)。模组据此自绘该判定等级的提示效果。
方法速览
| 方法 | 用途 |
|---|---|
x() / y() | 特效锚点坐标(轨道中心 x、有效判定线 y) |
judgeTime() | 本次判定时间(毫秒,用于动画) |
note() | 被判定的音符(只读视图) |
x()
签名:
java
double x();行为:判定特效锚点的 x 坐标——该轨道中心的世界 x。
示例:
java
double cx = ctx.x();y()
签名:
java
double y();行为:判定特效锚点的 y 坐标——该轨道的有效判定线 y。
示例:
java
double cy = ctx.y();judgeTime()
签名:
java
long judgeTime();行为:本次判定的时间(毫秒),用于随时间衰减/扩散的动画。宿主不提供特效起始时间,需要时请自行记录首次绘制的 judgeTime。
示例:
java
long at = ctx.judgeTime();note()
签名:
java
NoteView note();行为:被判定的音符只读视图(可读轨道、时间、类型标记与扩展数据)。不要长期持有。
示例:
java
int lane = ctx.note().lane();完整签名
java
public interface JudgedNoteRenderContext {
double x();
double y();
long judgeTime();
NoteView note();
}线程:源码未声明额外线程约束;宿主在游玩渲染线程同步调用。自定义判定等级的自绘不包轨道旋转(宿主只对内置等级施加),需要跟随旋转时请自行处理。
生命周期阶段:运行期判定特效层渲染时使用(每个存活特效每帧一次)。
稳定性:2.0 起冻结:2.x 内只增不破(禁止删签名/改签名/改语义)。