Keller-Dev
Docs
· Java & Hytale
Übersicht
Neuer Eintrag
Eintrag bearbeiten
Titel *
Kategorie *
Java Core
Java OOP
Java Advanced
Plugin-System
Event-System
UI-System
Sonstiges
Erklärung / Inhalt *
Wird die Bewegung auf X- und Y-Achse gleichzeitig geprüft, bleibt der Charakter an Hindernissen hängen. Durch eine getrennte Prüfung bewegt sich der Spieler entlang der freien Achse weiter (Wall-Sliding). Details:Ecken-Prüfung: Es werden alle 4 Ecken der Bounding-Box gegen das Gitter getestet. Corner Inset (-1px): An der rechten und unteren Kante wird $1\text{ Pixel}$ abgezogen, um falsche Treffer an Exakt-Grenzen benachbarter Tiles zu vermeiden.
Code-Beispiel (optional)
double newX = x + dx * speed * deltaTime; double newY = y + dy * speed * deltaTime; // X-Achse separat prüfen if (!isColliding(newX, y, tileMap, interactables)) { x = newX; } // Y-Achse separat prüfen (nutzt bereits neues X!) if (!isColliding(x, newY, tileMap, interactables)) { y = newY; }
Referenz-Datei / Projekt (optional)
Referenz-Klasse / Interface (optional)
Quellen-Link (optional)
Tags (durch Komma getrennt)
Änderungen speichern
Abbrechen