09. 粒子效果
在本章中,我们将为音符添加粒子效果。
声明
与之前类似,声明将被使用的粒子效果:
export const particle = defineParticle({
effects: {
note: ParticleEffectName.NoteCircularTapCyan,
},
})
export const particle = defineParticle({
effects: {
note: ParticleEffectName.NoteCircularTapCyan,
},
})
播放
与游玩模式不同的是,游玩模式中每当玩家击打音符时,我们才播放粒子效果;而在观看模式中,我们只在音符被销毁时播放粒子效果。
然而音符也许会因为时间跳转而被销毁,在这种情况下,我们不想播放粒子效果。我们可以检查 time.skip
并提早返回。
export class Note extends Archetype {
// ...
terminate() {
if (time.skip) return
const layout = Rect.one
.mul(2 * note.radius)
.scale(1, -1)
.translate(0, 1)
particle.effects.note.spawn(layout, 0.3, false)
}
}
export class Note extends Archetype {
// ...
terminate() {
if (time.skip) return
const layout = Rect.one
.mul(2 * note.radius)
.scale(1, -1)
.translate(0, 1)
particle.effects.note.spawn(layout, 0.3, false)
}
}