API 参考 / 只读视图、场景、音频与文本
HudValues
想先跑起来?
这一页是签名与行为参考。一帧数值快照,由宿主每帧注入。直接做一遍:教程 · 自定义 HUD。
HUD 数值只读视图。宿主在每次覆盖渲染前经 GameplayHud#updateValues(HudValues) 注入本帧快照,模组在 GameplayHud#values() 中读回。
方法速览
| 方法 | 用途 |
|---|---|
progress() | 游玩进度 0-1 |
combo() | 当前连击数 |
maxCombo() | 历史最大连击数 |
score() | 当前分数 |
accuracy() | 准度 0-1 |
musicTimeMs() | 当前音乐时间(毫秒) |
perfects() / greats() / misses() | 三种内置判定计数 |
progress()
java
double progress();行为:游玩进度 0-1(宿主按已处理音符数 / 总音符数计算)。示例:
java
double p = values.progress();combo()
java
int combo();行为:当前连击数。示例:
java
int c = values.combo();maxCombo()
java
int maxCombo();行为:历史最大连击数。示例:
java
int best = values.maxCombo();score()
java
int score();行为:当前分数。示例:
java
int s = values.score();accuracy()
java
double accuracy();行为:准度 0-1(宿主由百分比口径换算)。示例:
java
double acc = values.accuracy();musicTimeMs()
java
long musicTimeMs();行为:当前音乐时间(毫秒)。示例:
java
long t = values.musicTimeMs();perfects()
java
int perfects();行为:PERFECT 计数。示例:
java
int p = values.perfects();greats()
java
int greats();行为:GREAT 计数。示例:
java
int g = values.greats();misses()
java
int misses();行为:MISS 计数。示例:
java
int m = values.misses();完整签名
java
public interface HudValues {
double progress();
int combo();
int maxCombo();
int score();
double accuracy();
long musicTimeMs();
int perfects();
int greats();
int misses();
}关键契约:数值语义与 GameplayContext 对应成员一致,但口径以 HUD 显示为准(accuracy() 为 0-1)。「数值注入 + 覆盖渲染」配对使用:模组应保存 updateValues 送来的快照供 values() 返回,不要自行缓存来自其他渠道的数值;updateValues 的入参快照永不为 null。
线程:源码未声明额外线程约束。
性能:源码未标注额外性能约束(宿主每帧注入一次快照)。
稳定性:2.0 起冻结:2.x 内只增不破。