04. Stage
In this chapter, we will implement Stage.
Lifetime
Stage should always be active, and a simple way to achieve that is to return large values in spawnTime
and despawnTime
:
export class Stage extends Archetype {
spawnTime() {
return -999999
}
despawnTime() {
return 999999
}
// ...
}
export class Stage extends Archetype {
spawnTime() {
return -999999
}
despawnTime() {
return 999999
}
// ...
}
Declaring
We need to declare skin sprites :
export const skin = defineSkin({
sprites: {
judgeLine: SkinSpriteName.JudgmentLine,
},
})
export const skin = defineSkin({
sprites: {
judgeLine: SkinSpriteName.JudgmentLine,
},
})
Drawing
Drawing of stage is similar to play mode:
export class Stage extends Archetype {
// ...
updateParallel() {
const layout = new Rect({
l: judgeLine.l,
r: judgeLine.r,
t: 1 - note.radius / 4,
b: 1 + note.radius / 4,
})
skin.sprites.judgeLine.draw(layout, 0, 1)
}
}
export class Stage extends Archetype {
// ...
updateParallel() {
const layout = new Rect({
l: judgeLine.l,
r: judgeLine.r,
t: 1 - note.radius / 4,
b: 1 + note.radius / 4,
})
skin.sprites.judgeLine.draw(layout, 0, 1)
}
}