Particle actions

Een set acties die te maken hebben met particles (partikels) is beschikbaar onder de Extra tab. Deze acties zijn alleen maar beschikbaar in de geregistreerde versie van Game Maker.

Partikelsystemen zijn bedoeld om speciale effecten te onwerpen. Partikels zijn kleine elementen (voorgesteld door een pixel of een of andere kleine vorm). Zulke partikels bewegen in de room rond volgens vooropgestelde patronen en kunnen terwwijl ze bewegen van kleur veranderen. Veel van die partikels tesamen kunnnen explosies, vuurwerk, vlammen, regen, sneeuw, vallende sterren, vallend puin etc. vormen.

Game Makerbevat een uitgebreid partikelsysteem hetgeen middels functies kan worden benaderd. Een beperkter systeem kan door de volgende acties toegankelijk worden gemaakt.

Een partikelsysteem kan overweg met meerdere typen partikels. Nadat je een partikelsysteem hebt aangemaakt moet je als eerste aangeven welke typen partikels gebruikt gaan worden. Met onderstaande acties kun je 16 typen partikels specificeren. Elke type heeft een vorm, een grootte, een beginkleur en een eindkleur. De kleur verandert langzaam van de beginkleur in de eindkleur. Partikels hebben een beperkte levensduur. Partikels hebben ook een snelheid en een bewegingsrichting. Tenslotte hebben zwaartekracht en wrijving invloed op de partikels.

Nadat je de partikeltypen hebt gespecificeerd, moet je ze op bepaalde plaatsen in de room laten ontstaan. Je kunt ofwel een groot aantal partikels van een bepaald type op een plaats in de room laten ontstaan ofwel je kunt met regelmatige snelheid een aantal partikels in de room laten verschijnen. Partikels komen als het ware uit speciale kokers (emitters). Het partikelsysteem kan maximaal 8 van deze kokers tegelijk aan het werk hebben. Dus na het maken van de partikeltypen moet je ook nog de emitters ontwerpen en ze aangeven of ze de partikels ineens naar buiten laten komen of geleidelijk in een stroom.

Hieronder vind je de complete set acties. Je zult ermee moeten experimenteren om het gewenste effect te bereiken.

partsystcreate Create the particle system
Deze actie creëert het partikelsysteem. Het moet worden aangeroepen voordat enige andere actie kan worden gebruikt. Je hoeft het slechts eenmaal aan te roepen. Je kunt opgeven op welke diepte de partikels worden getekend. Als je gebruik maakt van een zeer grote positieve diepte, zullen de partikels achter de instanties verschijnen. Bij een grote negatieve diepte zullen ze juist vóór de instanties verschijnen.

partsystdestroy Destroy the particle system
Deze actie vernietigt het partikelsysteem, waardoor al het geheugen vrijkomt dat het in beslag neemt. Vergeet deze actie niet te gebruiken als je bijvoorbeeld naar een andere room gaat omdat partikelsystemen behoorlijk veel geheugenruimte in beslag nemen.

partsystclear Clear all particles in the system
Deze actie zorgt ervoor dat alle zichtbare partikels worden verwijderd uit de room. Deze actie heeft geen effect op het stoppen van de emitters als je gebruik maakt van emitters die de partikels geleidelijk gedurende langere tijd in de room verspreiden, hetgeen betekent dat na het verwijderen van de huidige partikels er meteen weer nieuwe in de room verschijnen (zie verderop).

parttypecreate Create a type of particle
Met deze actie ontwerp je een partikeltype. Je hebt de keuze uit 16 verschillende typen. Je hebt verder de mogelijkheid om zijn vorm te kiezen, de minimale en maximale grootte (als de partikels in de room verschijnen hebben ze een random grootte tussen minimale en maximale grootte), de beginkleur en de kleur waarin hij gedurende zijn bestaan zal veranderen. Houd er rekening mee dat met deze actie alleen het type wordt gemaakt en niet de eigenlijke partikels. Daarvoor heb je de emitters nodig (zie verderop).

parttypelife Set the life time for a particle type
De levensduur van een partikel bestaat uit een beperkt aantal steps. Daarna verdwijnt hij uit beeld. Met deze actie kun je de levensduur van een partikeltype instellen. Je geeft twee waarden op. De eigenlijke levensduur van een partikel wordt random gekozen tussen die twee waarden in.

parttypespeed Set the motion for a particle type
Met deze actie kun je de snelheid en de bewegingsrichting van een partikeltype bepalen. Ook nu weer geef je een minimum en maximumwaarde op en de eigenlijke waarde zal random gekozen worden tussen die twee waarden in. Bijvoorbeeld, om een partikel in een random richting te laten bewegen geef je als minimum- en maximumwaarde de getalle 0 en 360 op. Je kunt ook wrijving specificeren. Deze waarde wordt iedere keer van de huidige waarde afgetrokken waardoor de snelheid steeds lager wordt totdat hij uiteindelijk 0 wordt. (Je kunt natuurlijk een deeltje ook steeds sneller laten bewegen door een negatieve waarde bij wrijving in te vullen.)

parttypegravity Set the gravity of a particle type
Met deze actie stel je de hoeveelheid en de richting van de zwaartekracht in voor een bepaald type partikel. 270 betekent een zwaartekracht omlaag.

parttypesecondary Create secondary particles
Deze actie is een beetje gecompkiceerd. Partikels zijn in staat om nieuwe partikels tijdens hun bestaan of aan het eind van hun bestaan te maken. Met deze actie kun je dat instellen. Je kunt aangen welk type partikel en hoeveel ervan gemaakt moet worden bij elke stap gedurende zijn bestaan en als hij aan zijn eind komt. Wees hier erg voorzichtig mee. Je kunt op deze manier een enorme hoeveelheid partikels laten ontstaan waardoor het systeem aanzienlijk kan worden vertraagd. Voor het aantal kun je ook negatieve waarden invullen. Een negatieve waarde x betekent dat bij elke step de kans dat een nieuw partikel ontstaat -1/x is. Dus als je na iedere 4 steps een tweede partikel wilt laten onstaan, moet je als waarde -4 invullen. Het onstaan van secundaire partikels is vooral prima om effecten als rijen partikels of exploderende partikels te verkrijgen.

partemitcreate Create a particle emitter
Deze actie zorgt ervoor dat een partikel-emitter kan ontstaan. Partikels worden namelijk door emitters gemaakt. Je kunt 8 emitters tegelijk in werking hebben. Kies de emitter, bepaal zijn vorm, grootte en positie (in de vorm van een bounding box).

partemitdestroy Destroy an emitter
Deze actie vernietigt de aangegeven emitter. Houd er wel rekening me dat de partikels die door deze emitter zijn uitgestoten niet worden verwijderd door deze actie.

partemitburst Burst a number of particles from an emitter
Zelfs al heb je een partikeltype en een emitter bepaald, dan nog zijn er geen partikels. Je moet de emitter de opdracht geven om partikels te maken. Met deze actie geef je de emitter de opdracht om een bepaald aantal partikels van een bepaald type te produceren. Al de partikels worden tegelijkertijd gevormd. Je kunt ook een negatief getal als waarde opgeven. Een negatieve waarde x betekent dat er een partikel wordt gemaakt met een kans van -1/x. Als je dus bijvoorbeeld een partikel wilt laten ontstaan met een kans van 25 procent, kies dan de waarde -4.

partemitstream Stream particles from an emitter
Met deze actie geef je de emitter de opdracht om een bepaald aantal partikels geleidelijk in de ruimte te brengen. Er komt daardoor een stroom partikels op gang. Deze stroom gaat zolang door totdat je de opdracht geeft de stroom partikels te stoppen of de emitter te vernietigen. Als aantal kun je ook een negatief getal opgeven. een negatieve waarde betekent dat er in iedere step de kans dat een partikel wordt gemaakt -1/x is. Dus als je bijvoorbeeld om de 4 steps een partikel wilt laten ontstaan, moet je de waarde -4 gebruiken.