mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-26 03:38:55 +01:00
examples/isometric: Simplify the logic
This commit is contained in:
parent
f3318a2cec
commit
2f33366f5f
@ -19,7 +19,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"image"
|
|
||||||
"math"
|
"math"
|
||||||
|
|
||||||
"github.com/hajimehoshi/ebiten/v2"
|
"github.com/hajimehoshi/ebiten/v2"
|
||||||
@ -37,8 +36,6 @@ type Game struct {
|
|||||||
camScaleTo float64
|
camScaleTo float64
|
||||||
|
|
||||||
mousePanX, mousePanY int
|
mousePanX, mousePanY int
|
||||||
|
|
||||||
debugImg *ebiten.Image
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewGame returns a new isometric demo Game.
|
// NewGame returns a new isometric demo Game.
|
||||||
@ -50,8 +47,8 @@ func NewGame() (*Game, error) {
|
|||||||
|
|
||||||
g := &Game{
|
g := &Game{
|
||||||
currentLevel: l,
|
currentLevel: l,
|
||||||
camScale: 2,
|
camScale: 1,
|
||||||
camScaleTo: 2,
|
camScaleTo: 1,
|
||||||
mousePanX: math.MinInt32,
|
mousePanX: math.MinInt32,
|
||||||
mousePanY: math.MinInt32,
|
mousePanY: math.MinInt32,
|
||||||
}
|
}
|
||||||
@ -151,31 +148,12 @@ func (g *Game) Draw(screen *ebiten.Image) {
|
|||||||
g.renderLevel(screen)
|
g.renderLevel(screen)
|
||||||
|
|
||||||
// Print game info.
|
// Print game info.
|
||||||
var origW int
|
ebitenutil.DebugPrint(screen, fmt.Sprintf("KEYS WASD EC R\nFPS %0.0f\nTPS %0.0f\nSCA %0.2f\nPOS %0.0f,%0.0f", ebiten.CurrentFPS(), ebiten.CurrentTPS(), g.camScale, g.camX, g.camY))
|
||||||
if g.debugImg != nil {
|
|
||||||
w, _ := g.debugImg.Size()
|
|
||||||
origW = w
|
|
||||||
}
|
|
||||||
debugBox := image.NewRGBA(image.Rect(0, 0, g.w, 200))
|
|
||||||
if origW != g.w {
|
|
||||||
if g.debugImg != nil {
|
|
||||||
g.debugImg.Dispose()
|
|
||||||
}
|
|
||||||
g.debugImg = ebiten.NewImageFromImage(debugBox)
|
|
||||||
}
|
|
||||||
g.debugImg.Clear()
|
|
||||||
ebitenutil.DebugPrint(g.debugImg, fmt.Sprintf("KEYS WASD EC R\nFPS %0.0f\nTPS %0.0f\nSCA %0.2f\nPOS %0.0f,%0.0f", ebiten.CurrentFPS(), ebiten.CurrentTPS(), g.camScale, g.camX, g.camY))
|
|
||||||
|
|
||||||
op := &ebiten.DrawImageOptions{}
|
|
||||||
op.GeoM.Translate(3, 0)
|
|
||||||
op.GeoM.Scale(2, 2)
|
|
||||||
screen.DrawImage(g.debugImg, op)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Layout is called when the Game's layout changes.
|
// Layout is called when the Game's layout changes.
|
||||||
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
|
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
|
||||||
s := ebiten.DeviceScaleFactor()
|
g.w, g.h = outsideWidth, outsideHeight
|
||||||
g.w, g.h = int(s*float64(outsideWidth)), int(s*float64(outsideHeight))
|
|
||||||
return g.w, g.h
|
return g.w, g.h
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user