Adding splash screen.

This commit is contained in:
2024-11-11 10:25:02 -05:00
parent 6f794b7bb2
commit e10bf47427
3 changed files with 116 additions and 60 deletions

45
screens/start.go Normal file
View File

@@ -0,0 +1,45 @@
package screens
import (
"image/color"
"mover/fonts"
"mover/gamedata"
"github.com/hajimehoshi/ebiten/v2"
"github.com/hajimehoshi/ebiten/v2/inpututil"
"github.com/hajimehoshi/ebiten/v2/text"
)
type StartScreen struct {
eHandler map[ScreenManagerEvent]func()
dimensions gamedata.Area
}
func NewStartScreen() *StartScreen {
s := &StartScreen{
eHandler: make(map[ScreenManagerEvent]func()),
}
return s
}
func (s *StartScreen) Update() error {
if inpututil.IsKeyJustPressed(ebiten.KeyEnter) {
s.eHandler[EventCompleted]()
}
return nil
}
func (s *StartScreen) Draw(screen *ebiten.Image) {
screen.Clear()
text.Draw(screen, "survive", fonts.SurviveFont.ArcadeLarge, 40, 80, color.White)
}
func (s *StartScreen) SetEventHandler(e ScreenManagerEvent, f func()) {
s.eHandler[e] = f
}
func (s *StartScreen) SetDimensions(a gamedata.Area) {
s.dimensions = a
}