Adding splash screen.
This commit is contained in:
45
screens/start.go
Normal file
45
screens/start.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user