Theseus 模组文档
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 内只增不破(禁止删签名/改签名/改语义)。