examples/keyboard: Use inpututil functions in Update rather than Draw

This is not a strict rule, but it is preferrable to use input functions
in Update rather than Draw.
This commit is contained in:
Hajime Hoshi 2021-04-07 01:54:47 +09:00
parent 0fcf5c8470
commit 0300be7d9e

View File

@ -47,9 +47,11 @@ func init() {
}
type Game struct {
keys []ebiten.Key
}
func (g *Game) Update() error {
g.keys = inpututil.PressedKeys()
return nil
}
@ -67,8 +69,7 @@ func (g *Game) Draw(screen *ebiten.Image) {
// Draw the highlighted keys.
op = &ebiten.DrawImageOptions{}
keys := inpututil.PressedKeys()
for _, p := range keys {
for _, p := range g.keys {
op.GeoM.Reset()
r, ok := keyboard.KeyRect(p)
if !ok {
@ -80,7 +81,7 @@ func (g *Game) Draw(screen *ebiten.Image) {
}
keyStrs := []string{}
for _, p := range keys {
for _, p := range g.keys {
keyStrs = append(keyStrs, p.String())
}
ebitenutil.DebugPrint(screen, strings.Join(keyStrs, ", "))