Sonolus Wiki

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,
        })

        // ...
    }
}