Den Game Maker benutzen
Partikelsysteme
Partikel leben in Partikelsystemen. Um also Partikel in deinem Spiel zu haben, musst du ein oder mehrere Partikelsysteme erstellen. Es können verschiedene Partikelsysteme sein. Beispielsweise, wenn dein Spiele einige Bälle hat und jeder Ball soll einen Schweif Partikel haben, hat jeder Ball sein eigenes Partikelsystem. Der einfachste Weg mit Partikelsystemen umzugehen ist, zuerst eines zu erstellen und dann die Partikel darin zu erstellen, und die vorher angegeben Partikeltypen zu verwenden. Aber wie wir später sehen werden, können Partikelsysteme Emitters enthalten, welche automatisch Partikeln produzieren, Attractors die sie anziehen und Destroyers die sie zerstören.Wenn einem Partikelsystem Partikel hinzugefügt wurden werden diese automatisch aktualisiert und in jedem Step gezeichnet. Es ist keine weitere Aktion nötig. Um es möglich zu machen, das Partikel hinter, vor oder zwischen Instanzen gezeichnet werden können hat jeder Partikel eine Tiefe, ähnlich wie die Instanzen und Tiles.
Partikelsysteme leben nach ihrer Erstellung ewig. Auch wenn du den Raum wechselst oder das Spiel neu startest, die Systeme und Partikel bleiben. Stelle also wirklich sicher, das du sie zerstörst wenn du sich nicht mehr brauchst.
Die folgenden Funktionen arbeiten mit Partikelsystemen:
part_system_create() Erstellt ein neues Partikelsystem. Es gibt den Index des Typs zurück. Der Index muss in jedem Aufruf darunter verwendet werden um die Eigenschaften des Partikelsystem zu setzen.
part_system_destroy(ind) Zerstört das Partikelsystem ind. Rufe die Funktion auf, wenn du das System nicht mehr brauchst, um Speicher zu sparen.
part_system_exists(ind) Gibt zurück ob das angegebene Partikelsystem existiert.
part_system_clear(ind) Setzt das Partikelsystem ind auf seine voreingestellten Einstellungen zurück, zerstört alle Partikel, Emitters und Attractors darin.
part_system_draw_order(ind, oldtonew) Setzt die Reihenfolge in welcher das Partikelsystem die Partikels zeichnet. Wenn oldtonew true ist, werden die ältesten Partikel zuerst gezeichnet und die neuen liegen über ihnen (voreingestellt). Sonst werden die neuen Partikel zuerst gezeichnet. Das kann einen anderen Effekt ergeben.
part_system_depth(ind, depth) Setzt die Depth des Partikels. Diese kann genutzt werden, um Partikel hinter, vor oder zwischen Instanzen zu zeichnen.
part_system_position(ind, x, y) Setzt die Position an der ein Partikel gezeichnet wird. Dies ist normalerweise nicht nötig, aber wenn die Partikel z.b. relativ zu einem sich bewegenden Objekt sein sollen ist dies nützlich.
Wie oben schon gesagt, wird das Partikelsystem automatisch aktualisiert und gezeichnet. Aber manchmal ist es nicht das, was du möchtest. Um dies zu umgehen kannst du das automatische Zeichnen/Aktualisierung abstellen und selber entscheiden wann du dies tun möchtest. Hierfür existieren folgende Funktionen:
part_system_automatic_update(ind, automatic) Gibt an ob der Partikeltyp automatisch (1) oder manuell (0) aktualisiert wird. Standart ist 1.
part_system_automatic_draw(ind, automatic) Gibt an ob der Partikeltyp automatisch (1) oder manuell (0) gezeichnet wird. Standart ist 1.
part_system_update(ind) Diese Funktion aktualisier alle Partikel des Systemes und löst die Emitter aus. Du musst dies nur ausführen wenn nicht automatisch aktualisiert wird. (Auch wenns manchmal nützlich ist dies ein paar mal aufzurufen um Schwung in das System zu kommen.)
part_system_drawit(ind) Diese Funktion zeichnet die Partikel des Systemes. Du musst dies nur ausführen wenn nicht automatisch gezeichnet wird. Es sollte im Draw Event eines Objektes ausgeführt werden.
Die folgenden Funktion arbeiten mit Partikel des Partikelsystems:
part_particles_create(ind, x, y, parttype, number) Diese Funktion erstellt eine Anzahl von Partikel des angegeben Types auf Position (x,y) im System.
part_particles_create_color(ind, x, y, parttype, color, number) Diese Funktion erstellt die Zahl number an Partikeln an der Position (x,y) im System mit der angegebenen Farbe. Dies ist nur nützlich wenn der Partikeltyp nur eine Farbe (oder gar keine) hat.
part_particles_clear(ind) Diese Funktion zerstört alle Partikel im System.
part_particles_count(ind) Diese Funktion gibt die Anzahl der Partikel im System zurück.
Alternative Versionen
Auch verfügbar in:
Download helpfile