Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Von den Wänden abstoßen

Dies ist der 6. Schritt von 16 des Gamedev Phaser-Leitfadens. Nachdem die Physik eingeführt wurde, können wir mit der Implementierung der Kollisionserkennung im Spiel beginnen. Zuerst betrachten wir die Wände.

Von den Weltgrenzen abprallen

Der einfachste Weg, unser Ball von den Wänden abprallen zu lassen, besteht darin, dem Framework mitzuteilen, dass wir die Grenzen des <canvas>-Elements als Wände behandeln möchten und der Ball nicht darüber hinaus bewegt werden darf. In Phaser kann dies einfach mit der Methode setCollideWorldBounds() erreicht werden. Fügen Sie diese Zeile direkt nach dem bestehenden Methodenaufruf this.ball.body.setVelocity() hinzu:

js
this.ball.body.setCollideWorldBounds(true, 1, 1);

Das true weist Phaser an, die Kollisionserkennung mit den Weltgrenzen zu aktivieren, während die beiden 1s der Rückstoßfaktor auf den x- und y-Achsen sind. Dies bedeutet, dass wenn der Ball eine Wand trifft, er mit der gleichen Geschwindigkeit zurückprallt, die er vor dem Treffer hatte. Versuchen Sie erneut, index.html zu laden — jetzt sollten Sie sehen, wie der Ball von allen Wänden abprallt und sich innerhalb des Canvas-Bereichs bewegt.

Vergleichen Sie Ihren Code

Hier ist, was Sie bisher haben sollten, live ausgeführt. Um den Quellcode zu sehen, klicken Sie auf die Schaltfläche "Play".

Nächste Schritte

Das sieht jetzt mehr wie ein Spiel aus, aber wir können es auf keine Weise kontrollieren — es ist höchste Zeit, dass wir das Spieler-Schläger und die Steuerung einführen.