Phaser 046 – Destroying enemies and obstacles

In Games gibt es Feinde und oft auch Hindernisse, die man am besten gleich beseitigt. Schüsse abgeben ist nun ja kein Problem mehr. Im folgenden Beispiel habe ich Asteroiden abgelegt, die abgeschossen werden können.

Phaser Info: Die aktuelle Phaser-Version ist seit 25 September die Phaser CC 2.8.8

Beispiel

Zum Game in einem neuen Tab, geht es hier. Bitte Pfeiltasten zum steuern nutzen und die Spacetaste zum feuern drücken.

Variablen

In diesem Script werden mehr Variablen benötigt. Nicht zuletzt zur besseren Übersicht sollten die Variablen klassischerweise am Start aufgeführt sein.

Funktion Preload

In der function preload () geschieht nichts neues. Bilder werden geladen. Alles ganz entspannt 🙂

Funktion Create

Wie schon in dem Tutorial zuvor wird hier eine Gruppe für die Geschosse, mit allen Informationen gebildet. Physics werden aktiviert, es werden mehrere Geschosse eingeleitet, die Anker werden platziert und die Grenzen des Spielfeld gesetzt.

Auch der fireButton ist bekannt. Es wird die Leertaste (Space/Spacebar) verwendet.

Neu hinzu kommen jetzt freilich noch die Gruppe der enemies. In diesem Fall sind das stillstehende Steine, die es zu beseitigen gilt. Darunter die function cerateFenemies, die weiter unten bestimmt wird.

Funktion Update – Overlap

In der function update wird nun ständig geprüpft, ob sich ein Projectile und ein Felsen (enemies) überlappen. Falls ja, wird ein collisionHandler ausgeführt, der weiter unten beschrieben wird.

Funktion cretateEnemies

Der Einfachheit halber habe ich die Felsen (Asteroiden/Enemies) hier nur aufgereiht. Das geschieht über die For-Schleife. Vier Stück für den Anfang.

Funktion FireBullet

Die Funktion fiureBullet war ebenfalls schon im Tutorial davor im Einsatz. Die Bullets orientieren sich an dem Standort des Players bullet.reset(player.x,player.y-30 und werden von dort auf die Reise geschickt. Mit einer Verzögerung von 500 Millisekunden.

Funktion coillsionHandler

Im günstigsten Fall treffen die Projectile ihr Ziel. In diesem Fall werden beide Objekte gelöscht. Projectile und der Felsen (enemies)

Zusätzlich habe ich das Script mit Kommentaren versehen. Ich hoffe es ist verständlich geworden. Im nächsten Teil kommt ein Blast (Explosion) und Sound (Explosion) hinzu.

Komplettes Script

 

Das könnte Dich auch interessieren...

Translate »