Private
Public Access
1
0

fix view port rendering to include
Some checks failed
Dynamic Branch Deploy / build-and-deploy (push) Has been cancelled

This commit is contained in:
Sebastian Unterschütz
2026-03-24 09:12:51 +01:00
parent 6d0d31824e
commit 6b07004f01
3 changed files with 15 additions and 15 deletions

View File

@@ -90,7 +90,7 @@ func GenerateGroundTile(tileIdx int) GroundTile {
}
// RenderGround rendert den Boden mit Bewegung
func (g *Game) RenderGround(screen *ebiten.Image, cameraX float64) {
func (g *Game) RenderGround(screen *ebiten.Image, cameraX float64, viewScale float64) {
// Tatsächliche Canvas-Größe verwenden
canvasW, canvasH := screen.Size()
@@ -119,7 +119,7 @@ func (g *Game) RenderGround(screen *ebiten.Image, cameraX float64) {
// Berechne welche Tiles sichtbar sind (basierend auf Canvas-Breite)
tileWidth := 128.0
startTile := int(math.Floor(cameraX / tileWidth))
endTile := int(math.Ceil((cameraX + float64(canvasW)) / tileWidth))
endTile := int(math.Ceil((cameraX + float64(canvasW)/viewScale) / tileWidth))
// Tiles rendern
for tileIdx := startTile; tileIdx <= endTile; tileIdx++ {
@@ -128,7 +128,7 @@ func (g *Game) RenderGround(screen *ebiten.Image, cameraX float64) {
// Dirt-Patches rendern
for _, dirt := range tile.DirtVariants {
worldX := tile.X + dirt.OffsetX
screenX := float32(worldX - cameraX)
screenX := float32((worldX - cameraX) * viewScale)
screenY := gameFloorY + float32(dirt.OffsetY)
// Nur rendern wenn im sichtbaren Bereich (Canvas-Breite verwenden)
@@ -140,7 +140,7 @@ func (g *Game) RenderGround(screen *ebiten.Image, cameraX float64) {
// Steine rendern (in der Erde)
for _, stone := range tile.Stones {
worldX := tile.X + stone.X
screenX := float32(worldX - cameraX)
screenX := float32((worldX - cameraX) * viewScale)
screenY := gameFloorY + float32(stone.Y)
// Nur rendern wenn im sichtbaren Bereich (Canvas-Breite verwenden)