Sonolus Wiki

21. 独特的下落速度

本章我们将为音符中应用独特的下落速度。

独特的下落速度

独特的下落速度是节奏游戏中的另一个常见特征,其中每个音符可能以不同的速度下落。在某些游戏中,音符的下落速度由 BPM 决定,而在其他游戏中,它可以手动调整以产生奇特的效果。

在我们的引擎中,我们将采用基于 BPM 改变下落速度的方法。

目前所有音符的下落速度都相同,因为音符位置在最小和最大可视时间之间行进,并且最小可视时间简单地固定在最大可视时间之前的 1 秒。要改变下落速度,我们可以简单地改变下落时间。

假设我们希望 120 BPM 对应 1 秒的下落时间,并与 BPM 成反比(例如 240 BPM 对应于 0.5 秒的下落时间)

export class Note extends Archetype {
    // ...

    preprocess() {
        // ...
        
        this.visualTime.copyFrom(
            Range.l
                .mul(120 / bpmChanges.at(this.import.beat).bpm)
                .add(timeScaleChanges.at(this.targetTime).scaledTime),
        )

        // ...
    }

    // ...
}
export class Note extends Archetype {
    // ...

    preprocess() {
        // ...
        
        this.visualTime.copyFrom(
            Range.l
                .mul(120 / bpmChanges.at(this.import.beat).bpm)
                .add(timeScaleChanges.at(this.targetTime).scaledTime),
        )

        // ...
    }

    // ...
}