Asteroid Klon mit unter 100 Ereignissen

0

Index

Tagged

Stats

13,025 visits, 18,907 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

A - Basis Mechanismus

+ Genutzte Verhalten (behaviour): Eigene Bewegungen (Custom movement), Umwickeln (Wrap), Pin, Geschoss (Bullet), Außerhalb des Layouts zerstören (Destroy outside of layout), Drehen (Rotate); Genutzte Plugins : Sprite, Keyboard.

Für dieses Tutorial habe ich anfangs Ashley's "Custom movement (asteroids).capx" im "examples" Verzeichnis (Das Verzeichnis ist unterhalb des Installationsverzeichnisses von C2) genutzt

Wie werden feststellen, wenn Sie es nicht bereits geöffnet haben, das das "examples" (Beipsiele) Verzeichnis eine ganze Menge Projekte enthält welche zeigen, wie man Pojekte erstellt und viele spezielle "standart" Spiel Verhalten.

Das Shiff/"Player" funktioniert mit 5 Ereignissen (events) und unter Nutung des custom movement und wrap wie erwartet.

Die Pfeiltasten der Tastatur (das "Keyboard" Plugin wurde dem Projekt hinzugefügt)

bewegen das Schiff im Spielfeld und die Leertaste schießt ein Projektiel objecte ("Bullet").

Das ist die Basis.

Offen Sie die Fertige capx des Projekts (welche sie über die Fertige Projektseite in Arcade downloaden können). Sie sehen das hier viel mehr Code und Elemente im vergleich zu original beispiel sind.

Es gibt drei Layouts. Jedes Layout ist einem Ereignis Blatt (event sheet) zugeordnet (jedes Ereignis Blatt wurde mit dem Präfix "es" benannt, dann wurde der Layoutname angefügt; das ist eine persönliche Vereinbarung um zu erkennen wo ich beim Programmieren bin und welches Ereignis Blatt zu welchem Layout gehört).

Splash: ist der Splash/Lade Bildschirm/Layout

Score: zum Anzeigen und überprüfen der Punktestände nach Splash und Game

Game: ist das Layout in welchem das Spiel ausgeführt wird

1 - Schiffs Einstellungen und Controls

Sie finden die Ereignisse (events) des Original Beispiels in der "PlayerMovement" Gruppe in "esGame". (event 2)

Im Endgültigen Projekt können Sie sehen das mehr Bewegungen vorhanden sind als im Original Beispiel.

Das liegt daran das ich beim entwickeln des Spieles ein paar mehr Aktionen/Dinge bei einer Eingabe des Spielers benötigte.

Z.B. wollte ich ich Flammen dargestellt haben wenn das Schiff beschleunigt/bremst.

Also habe ich einen kleinen Trick benutzt:

Die Flammen für hinten und forne sind zwei unterschiedliche Sprites.

Die Animation stammt vom "FX" Verzeichnis im Scirra's free bundle.

Schauen Sie noch einmal in die Anfänger Anleitung für Construct 2 um zu lernen wie man neue Sprites erstellt und Texturen dafür importiert.

Sie können das layout "Game" öffnen, dann sehen das es fünf unterschiedliche Elemente

sind welche auf dem selben Layer wie in der Nähe das Schiffs plaziert sind.

Jeder Sprite ("Thrust" and "Brakes" (Schub und Bremsen)) wurde so eingestellt das er eine Animation in einer Schleife abspielt (Eine Reihe von Einzelbildern (frames) welche sich selber wiederholen)

Jeder Sprite hat eine "Pin" Verhalten (behavior) und die Einstellung (propertie) "Initial visibility" (anfangs sichtbar) wurde auf "Invisible" (unsichtbar) gesetzt.

Da ich diese Sprites entsprechend im layout view plaziert habe, ist alles was ich noch machen muss bei "On start of layout" (beim Layout-Start) (Ereignis 1 in esGame) diese Sprites an das Schiff Anzuheften. Ich muss mir dann nicht die Mühe machen sie zu plazieren, sie sind am Schiff des Spiels in der korrekten Position/Winkel angeheftet.

In diesem Fall von "visual fx" (visueller Effekt) ist das mehr als genug.

"Brakes" (Bremsen) hat vier Instanzen desselben Sprites, da es die selbe Animation ist. Wenn ich den Sprite sichtbar oder unsichtbar setze (visible/invisible) werden beide Instanzen beeinflusst.

Zurück bei der "PlayerMovement" Gruppe: Sie werden feststellen, das wenn "UP key is down" (Pfeil oben Taste ist gedrückt) (Ereignis 3) (solange die Taste gehalten wird), der "Thrust" (Beschleunigung) Sprite auf sichtbar gestellt ist. Dadurch wird seine Animation natürlicherweise abgespielt sogar ohne irgendeine gesetzte Aktion.

Durch das Ereignis 5, das "UP key is released" (Pfeil oben Taste wurde losgelassen/ist nicht gedrückt) wird der Sprite zurück nach unsichtbar gesetzt.

Es gibt mehr als diese Ereignisse, aber die Unter-Ereignisse und -Aktionen beeinflussen nur das Audio, welches ich später anfassen werden und erst einmal zurücklege.

Dieselbe Logik wird beim "DOWN key" (Pfeil runter) genutzt. Anstatt "Thrust" beschleunigen schauen wir auf die "Brakes" (Bremsen) Sprites und wie ich bereits vorher erwähnt hatte, werden beide Instanzen des Sprites zur gleichen Zeit verändert.

Um die Schiffs Controls zu abzuschleißen wird durch das drücken (herunterdrück und wieder loslassen nacheinander) der Leertaste (Space) ein "Bullet" (Projektil) gespawnt (Anm. des Übersetzers: ist denglish aber weit verbreitet (to spawn = erscheinen)).

Das Projektil hat einfach ein "Bullet" Verhalten.

Es enthält auch ein "Destroy outside of layout" Verhalten (außerhalb des Layouts zerstören) um die Anzahl der Objekte wieder zu reduzieren (Es verhindert das das Projektil nach dem Verlassen des Bildschirms im Speicher bleibt solange das Spiel ausgeführt wird, was in signifikanter Resourcen Verschwendung enden kann)

Es hat außerdem einen "strategischen" Einfluss, so kann man nicht auf Dauerfeuer stellen und hoffen das das Projektil an der anderen seite des Bildschirms wieder erscheint und zufällig einen Asteroiden trifft.

Einmal mehr liegt der Schwerpunkt auf der Tatsache das der Spieler Asteroiden treffen soll, und eben nicht einfach zufällig in der Gegend "rumballern".

Als erster Schritt des Punktesystems ist zu beachten, das eine globale Variable "Score" gesetzt wird und den aktuellen Punktestand des Spielers enthält.

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!