03. 初始化
在本章中,我们将实现初始化原型。
初始化
由于观看模式可以被简单理解为没有输入的游玩模式,因此我们可以简单地复制游玩模式的初始化原型代码,包含了设置皮肤和粒子效果的变换,计算与共享判定线和音符的不可变数据,分数设置,生命值设置,UI 设置,以及全局预处理的代码。
一个值得注意的差异就是额外的进度条 UI,它将允许玩家控制观看模式的进度:
export class Initialization extends Archetype {
preprocess() {
// ...
ui.progress.set({
anchor: screen.rect.lb.add(new Vec(0.05, 0.05)),
pivot: { x: 0, y: 0 },
size: { x: screen.rect.w - 0.1, y: 0.15 * ui.configuration.progress.scale },
rotation: 0,
alpha: ui.configuration.progress.alpha,
horizontalAlign: HorizontalAlign.Center,
background: true,
})
// ...
}
}
export class Initialization extends Archetype {
preprocess() {
// ...
ui.progress.set({
anchor: screen.rect.lb.add(new Vec(0.05, 0.05)),
pivot: { x: 0, y: 0 },
size: { x: screen.rect.w - 0.1, y: 0.15 * ui.configuration.progress.scale },
rotation: 0,
alpha: ui.configuration.progress.alpha,
horizontalAlign: HorizontalAlign.Center,
background: true,
})
// ...
}
}