Skip to content

Commit a342bfd

Browse files
authored
Fix sp effect layer (#134)
* fix: SPエフェクトを最前面に描画するよう変更 * assets: SPエフェクトの背景を改善
1 parent ae4c826 commit a342bfd

File tree

5 files changed

+15
-5
lines changed

5 files changed

+15
-5
lines changed

assets/images/koma_sp_back.png

15.7 KB
Loading

assets/images/kurona_sp_back.png

31.3 KB
Loading
40.4 KB
Loading

internal/character/player.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,6 @@ func (p *Player) Draw(screen *ebiten.Image) {
244244
return
245245
}
246246

247-
if p.current == move.SkillEffect {
248-
screen.DrawImage(p.skillImage, p.spOp)
249-
return
250-
}
251-
252247
if p.current == move.SkillDash || p.current == move.SkillWalk || p.current == move.SkillAscending || p.current == move.SkillDescending {
253248
screen.DrawImage(p.skillEffect, p.spEffectOp)
254249
}
@@ -270,6 +265,14 @@ func (p *Player) Draw(screen *ebiten.Image) {
270265
}
271266
}
272267

268+
// DrawSpEffect draws the character's special skill effect.
269+
func (p *Player) DrawSpEffect(screen *ebiten.Image) {
270+
if p.current == move.SkillEffect {
271+
screen.DrawImage(p.skillImage, p.spOp)
272+
return
273+
}
274+
}
275+
273276
// GetPosition return the current position of this player.
274277
func (p *Player) GetPosition() *view.Vector {
275278
return p.stateMachine.GetPosition()

internal/scenes/scene_stage01.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,17 +314,22 @@ func (s *Stage01Scene) run() {
314314

315315
// Draw draws background and characters.
316316
func (s *Stage01Scene) Draw(screen *ebiten.Image) {
317+
// 遠くの背景や奥側のオブジェクト、プレイヤー、プレイヤーよりも手前のオブジェクトの順に描画する
317318
s.field.DrawFarther(screen)
318319
s.player.Draw(screen)
319320
s.field.DrawCloser(screen)
321+
322+
// UI部品やユーザーに向けたメッセージ、SPエフェクトなどを描画する
320323
s.drawUI(screen)
321324
s.drawWithState(screen)
322325

326+
// FPSを表示する
323327
tOp := &text.DrawOptions{}
324328
tOp.GeoM.Translate(10, view.ScreenHeight-15)
325329
tOp.ColorScale.ScaleWithColor(color.White)
326330
text.Draw(screen, fmt.Sprintf("FPS: %3.1f", ebiten.ActualFPS()), fonts.GamerFontSS, tOp)
327331

332+
// 画面遷移時のカーテン描画や、ステージクリアのエフェクトを描画する
328333
if s.isStarting || s.isClosing {
329334
s.curtain.Draw(screen)
330335
} else if s.state == stageClear {
@@ -412,6 +417,8 @@ func (s *Stage01Scene) drawWithState(screen *ebiten.Image) {
412417
tOp.GeoM.Translate(10, 20)
413418
tOp.ColorScale.ScaleWithColor(color.White)
414419
text.Draw(screen, fmt.Sprintf("Music: %s", s.disc.Name), fonts.GamerFontS, tOp)
420+
case skillEffect:
421+
s.player.DrawSpEffect(screen)
415422
case stageClear:
416423
musicTextOp := &text.DrawOptions{}
417424
musicTextOp.GeoM.Translate(10, 20)

0 commit comments

Comments
 (0)