Private
Public Access
1
0

Update touch controls to use ScreenHeight instead of canvas height for joystick and button positioning
Some checks failed
Dynamic Branch Deploy / build-and-deploy (push) Has been cancelled

This commit is contained in:
Sebastian Unterschütz
2026-01-06 21:46:46 +01:00
parent 023996229a
commit d20f8f33bb

View File

@@ -426,11 +426,11 @@ func (g *Game) DrawGame(screen *ebiten.Image) {
// 8. TOUCH CONTROLS OVERLAY (nur wenn Tastatur nicht benutzt wurde) // 8. TOUCH CONTROLS OVERLAY (nur wenn Tastatur nicht benutzt wurde)
if !g.keyboardUsed { if !g.keyboardUsed {
canvasW, canvasH := screen.Size() canvasW, _ := screen.Size()
// A) Joystick Base (unten links, relativ zu Canvas) // A) Joystick Base (unten links, relativ zu Viewport)
joyX := 150.0 joyX := 150.0
joyY := float64(canvasH) - 150.0 joyY := float64(ScreenHeight) - 150.0 // ScreenHeight statt canvasH!
baseCol := color.RGBA{80, 80, 80, 50} baseCol := color.RGBA{80, 80, 80, 50}
vector.DrawFilledCircle(screen, float32(joyX), float32(joyY), 60, baseCol, false) vector.DrawFilledCircle(screen, float32(joyX), float32(joyY), 60, baseCol, false)
vector.StrokeCircle(screen, float32(joyX), float32(joyY), 60, 2, color.RGBA{100, 100, 100, 100}, false) vector.StrokeCircle(screen, float32(joyX), float32(joyY), 60, 2, color.RGBA{100, 100, 100, 100}, false)
@@ -442,9 +442,9 @@ func (g *Game) DrawGame(screen *ebiten.Image) {
} }
vector.DrawFilledCircle(screen, float32(g.joyStickX), float32(g.joyStickY), 30, knobCol, false) vector.DrawFilledCircle(screen, float32(g.joyStickX), float32(g.joyStickY), 30, knobCol, false)
// C) Jump Button (unten rechts, relativ zu Canvas) // C) Jump Button (unten rechts, relativ zu Viewport)
jumpX := float32(canvasW) - 150 jumpX := float32(canvasW) - 150
jumpY := float32(canvasH) - 150 jumpY := float32(ScreenHeight) - 150 // ScreenHeight statt canvasH!
vector.DrawFilledCircle(screen, jumpX, jumpY, 50, color.RGBA{255, 0, 0, 50}, false) vector.DrawFilledCircle(screen, jumpX, jumpY, 50, color.RGBA{255, 0, 0, 50}, false)
vector.StrokeCircle(screen, jumpX, jumpY, 50, 2, color.RGBA{255, 0, 0, 100}, false) vector.StrokeCircle(screen, jumpX, jumpY, 50, 2, color.RGBA{255, 0, 0, 100}, false)
text.Draw(screen, "JUMP", basicfont.Face7x13, int(jumpX)-15, int(jumpY)+5, color.RGBA{255, 255, 255, 150}) text.Draw(screen, "JUMP", basicfont.Face7x13, int(jumpX)-15, int(jumpY)+5, color.RGBA{255, 255, 255, 150})