Wie erstelle ich am besten ein Javascript spiel bei dem sich alles außer man selbst bewegt?

... komplette Frage anzeigen

2 Antworten

Das klingt 1:1 nach einem 2D topdown perspective game, Beschreibung passt sehr zu einem Pokémon Spiel.

Mit dem DOM, also via HTML und CSS wirst du hier nicht weit kommen. Spiele, die aufwendige Grafiken, viele Variablen beinhalten und dazu in einer angemessenen Geschwindigkeit laufen, werden nur über Canvas umgesetzt.

Die Basis wirst du natürlich auch per reinem DOM hinkriegen, ist aber altmodisch, uneffizient und der Code kann dabei nur unübersichtlich und vollgemüllt werden. Sobald du flüssige Animationen, wie z.B. eine Wasser-Hintergrund Animation haben willst, wird dir der DOM-Reflow ein Bein stellen.

Der Effekt der fixierten Kamera auf den Spieler ist wirklich simpel.

Wenn der Spieler in egal welche Richtung läuft, dann schiebe die Map unter ihm in die entgegengesetzte Richtung.

Beispiel: Spieler läuft 1 Schritt nach Rechts -> Versetze die Positonen der darunterliegenden Map und aller Entities um -16px oder -32px in der Horizontale. 16px ist im Normalfall der Standard X und Y Wert eines einzelnen Map-Felds in 2D basierten Spielen.

Füge noch einen Array hinzu, welcher als Kollisions Prüfung agiert, mit der Länge x*y deiner Map-Größe. In diesem Array entspricht z.B. 0 einer Kollision und 1 einem begehbaren Feld.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?