Phaser 045 – Shooting, Schüsse abgeben

Was wäre ein Game, wenn der Hero nicht über die Fähigkeit verfügen würde sich zur Wehr zu setzen. Ob Werfen, Schießen, oder bei gewaltfreien Spielen Items abgeben; alles ist mit Phaser möglich zu realisieren.

Beispiel

Hier geht es zum dem Beispiel, in einem neuen Tab, in Fullscreen.. Bitte Pfeiltasten zum steuern benutzen, Spacebar zum feuern.

Variablen

Über den Funktionen steht der übliche Block. Das Game wird eingeleitet, die Größe bestimmt und darunter gibt es eine Reihe von Variablen. Auf diese Variablen gehe ich später näher ein.

Function preload

Die Funktion Preload bringt derzeit nichts neues. Es muss auch nicht viel geladen werden, ausser dem UFO, der Welt (Hintergrund) und der Bullet (dem Geschoss), dass derzeit nur aus einem roten Punkt besteht.

Function create

Die Funktion Preload ist im Gegensatz dazu schon etwas angewachsen. Da ist der ScaleManger, der schon bekannt ist. Die Welt und das UFO werden positioniert. Danach folgt das Einschalten der ARCADE Physics, denn das UFO soll an den Spielfeld-Rändern stoppen. Die Größe des Spielfeld ist 780×480 Pixel. Die Kamera wird an das UFO fixiert.

Darunter werden die Cursor Keys eingeleitet.

Es folgt das Projektil beziehungsweise die Projektile. Eine Gruppe wird createt und auch die Projektile erhalten die ARCADE Physics. Mehrere Bullets sollen entstehen können.

Es folgen die Positionierung der Bildanker für alle Bullets (setAll) in der X und Y Richtung. Alle Bullets sollen beim verlassen des Spielfeld gelöscht werden. Und das soll bei allen immer geprüft werden (checkWorldBounds).

Eine wichtige Sache findet sich in der letzten Zeile! Der Funktion fireButton wird die Spacetaste (Spacebar/Leertaste) zugewiesen. Über Space werden also die Schüsse abgegeben. Die Function fireButton selbst wird erst später definiert.

Function Update

Die Funktion Update ist dann größtenteils wieder bekannt. In den ersten beiden Zeilen wird die Geschwindigkeit des UFO auf Null gesetzt, nur wenn Pfeiltasten gedrückt werden, nur dann soll sich das UFO fortbewegen.

Das einzig neue in der Funktion Update befindet sich auch hier im letzten Teil. Wenn fireButton gedrückt ist (die Spacebar), dann soll gefeuert werden.

Funktion Firebutton

Hinter der Funktion Update wird nun eine neue, eigene Funktion gebaut. Die Funktion fireButton.

Es wird die Schussrate festgelegt und mit bullet.reset die Position des UFO abgefragt. An dieser Position (x und y plus der dazu gerechneten Werte) wird die Bullet gestartet. Die Geschwindigkeit soll 300 betragen.

Komplettes Script

 

 

Das könnte Dich auch interessieren...

Translate »