Scenario viewpoint, Z index management, and arrow controls
This commit is contained in:
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"flag"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"github.com/hajimehoshi/ebiten"
|
||||
@@ -51,16 +52,18 @@ func main() {
|
||||
log.Fatal("Couldn't create window: %v", err)
|
||||
}
|
||||
|
||||
win.OnKeyUp(ebiten.KeyLeft, env.changeOrigin(-64, +0))
|
||||
win.OnKeyUp(ebiten.KeyRight, env.changeOrigin(+64, +0))
|
||||
win.OnKeyUp(ebiten.KeyUp, env.changeOrigin(+0, -64))
|
||||
win.OnKeyUp(ebiten.KeyDown, env.changeOrigin(+0, +64))
|
||||
step := 32
|
||||
win.WhileKeyDown(ebiten.KeyLeft, env.changeOrigin(-step, +0))
|
||||
win.WhileKeyDown(ebiten.KeyRight, env.changeOrigin(+step, +0))
|
||||
win.WhileKeyDown(ebiten.KeyUp, env.changeOrigin(+0, -step))
|
||||
win.WhileKeyDown(ebiten.KeyDown, env.changeOrigin(+0, +step))
|
||||
|
||||
for i := 0; i <= 6; i++ {
|
||||
win.OnKeyUp(ebiten.Key1+ebiten.Key(i), env.setZIdx(i))
|
||||
}
|
||||
|
||||
win.OnMouseClick(env.showCellData)
|
||||
win.OnMouseWheel(env.changeZoom)
|
||||
|
||||
if err := win.Run(); err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -82,6 +85,10 @@ func (e *env) changeOrigin(byX, byY int) func() {
|
||||
}
|
||||
}
|
||||
|
||||
func (e *env) changeZoom(_, byY float64) {
|
||||
e.scenario.Zoom *= math.Pow(1.2, byY)
|
||||
}
|
||||
|
||||
func (e *env) setZIdx(to int) func() {
|
||||
return func() {
|
||||
e.scenario.ZIdx = to
|
||||
|
Reference in New Issue
Block a user