diff options
Diffstat (limited to 'player.go')
-rw-r--r-- | player.go | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/player.go b/player.go deleted file mode 100644 index 4fe7aa8..0000000 --- a/player.go +++ /dev/null @@ -1,52 +0,0 @@ -package main - -import ( - "github.com/hajimehoshi/ebiten/v2" -) - -const ( - gravity = 0.01 - friction = 0.6 -) - -type GameObject struct { - x, y float32 - vx, vy float32 - image *ebiten.Image - onGround bool -} - - -type Player struct { - GameObject -} - -func (o * GameObject) Update(tilemap Tilemap) { - o.vy += gravity - - o.x += o.vx - if tilemap.CollideObject(o) { - o.x -= o.vx - o.vx = 0 - } - - o.y += o.vy - if (tilemap.CollideObject(o)) { - - o.onGround = true; - o.vx *= friction - - o.y -= o.vy - o.vy = 0 - } else { - o.onGround = false; - } -} - -func (o * GameObject) Draw(screen *ebiten.Image, tilemap Tilemap) { - op := &ebiten.DrawImageOptions{} - op.GeoM.Translate(float64(o.x * float32(tilemap.tileSize)), float64(o.y * float32(tilemap.tileSize))) - screen.DrawImage(o.image, op) -} - - |