Von den Wänden abprallen
Dies ist der 4. Schritt von 12 im Tutorial zum Erstellen eines Breakout-Spiels mit Phaser. Nachdem wir die Physik eingeführt haben, können wir nun die Kollisionserkennung ins Spiel einbauen. Zuerst befassen wir uns mit den Wänden.
Von den Grenzen der Spielwelt abprallen
Am einfachsten bringen wir den Ball dazu, von den Wänden abzuprallen, indem wir dem Framework mitteilen, dass es die Grenzen des <canvas>-Elements als Wände behandeln und den Ball nicht darüber hinaus bewegen soll. In Phaser lässt sich das mit der Methode setCollideWorldBounds() erreichen. Fügen Sie diese Zeile direkt nach dem vorhandenen Aufruf der Methode this.ball.body.setVelocity() ein:
this.ball.body.setCollideWorldBounds(true, 1, 1);
Mit true wird die Kollisionserkennung an den Grenzen der Spielwelt aktiviert. Die beiden 1-Werte geben den Abprallfaktor auf der x- beziehungsweise y-Achse an. Trifft der Ball auf eine Wand, prallt er mit derselben Geschwindigkeit zurück, die er vor dem Aufprall hatte. Laden Sie index.html erneut – jetzt sollten Sie sehen, wie der Ball von allen Wänden abprallt und sich innerhalb des Canvas-Bereichs bewegt.
Vergleichen Sie Ihren Code
So sollte Ihr bisheriger Code aussehen; das Beispiel ist direkt ausführbar. Um den Quellcode anzuzeigen, klicken Sie auf die Schaltfläche „Play“.
Nächste Schritte
Allmählich sieht das Ganze wie ein Spiel aus, aber wir können es noch nicht steuern. Höchste Zeit, den Spielerschläger und die Steuerung einzuführen.