Práce s Particles v praxi

Ostatní jazyky GameMaker Efekty Práce s Particles v praxi

Ukážeme si jak jednoduše použít částice v GM pomocí ikonek.

Vytvoříme si jednoduchý prolet galaxií :)

Vytvoříme nový objekt, přidáme do něj event Create a přepneme se na záložku Extra

  1. Vytvoření částicového systému -> nastavení hloubky
    • Pro naše účely hloubku nemusíme nastavovat
  2. Vytvoření nového typu částice -> vybrání jejího tvaru, popřípadě spritu, minimální a maximální velikosti (při vytváření bude vybráno mezi těmito hodnotami) a poměr velikosti o kterou se částice bude zvětšovat.
    • vybereme tvar hvězdy (star) nebo můžete použít nějaký vlastní sprite
    • velikosti necháme nulové, ale zvětšení nastavíme na 0.01
  3. Nastavení barev a průhlednosti pro zadaný typ částice -> changing (plynulí přechod mezi dvěmi barvami), mixed (vybere se náhodná barva mezi zadanými barvami), počáteční průhlednost a koncová (0 = neviditelná, 1 = viditelná) -> plynule se mění od počáteční ke koncové hodnotě
    • u shape vybereme proměnlivý (changing)
    • barvy zvolíme první černou druhou žlutou
    • počáteční alfa průhlednost 0.5, koncová 1
  4. Nastavení délky života částice -> mezi dvěma hodnotama se náhodně vybere a částice po uplynulé době (udávané v krocích) zmizí
    • min i max nastavíme na 100 (proletí a za obrazovkou zmizí...)
  5. Nastavení pohybu částice -> minimální a maximální rychlost (bude náhodně vybráno číslo mezi zadanými), minimální a maximální úhel směru a tření (kladné hodnoty určují o kolik se bude zpomalovat, záporné pak určují zrychlení)
    • minimální rychlost bude 0.1 maximální 0.2
    • minimální úhel směru pochybu 0 maximální 360 (do všech stran)
    • tření nastavíme na -0.3 (bude se zrychlovat)
  6. Vytvoření typu emitteru (nebo také zářiče, vysílače) -> nastavíme jeho tvar ve kterém se budou částice tvořit, poté maximální a minimální souřadncie x,y kde se mohou čásitce tvořit
    • tvar vybereme elipsu (ellipse)
    • a souřadncie nastavíme na střed místnosti s odchylkou +- 5 (tzn. xmin: (room_width/2)-5, xmax: (room_width/2)+5, ymin: (room_height/2)-5, ymax: (room_height/2)+5)
  7. Stream neboli proud z emitteru (každým krokem tvoří zadaný počet částic) ( -> vybereme příslušný emitter a částici kterou pomocí něj chceme vytvořit a zadáme kolik částic chceme v každém kroku vytvořit (záporné hodnoty udávají šanci na vytvoření částice -1/x)
    • počet nastavíme na -2 (šance na vytvoření částice každým druhým krokem)

V kódu GML by to vypadalo nějak takhle:

particle_system = part_system_create();
particle = part_type_create();
part_type_shape(particle, pt_shape_star);
part_type_size(particle, 0, 0, 0.01, 0);
part_type_color2(particle, c_black, c_yellow);
part_type_speed(particle, 0.1, 0.2, 0.3, 0);
part_type_direction(particle, 0, 360, 0, 0);
emitter = part_emitter_create(particle_system);
part_emitter_region(particle_system, emitter, (room_width/2)-5, (room_width/2)+5, (room_height/2)-5, (room_height/2)+5, ps_shape_ellipse, ps_distr_linear);
part_emitter_stream(particle_system, emitter, particle, -2);

 

Stáhnout

Staženo 277x (10.24 kB)

 

  Aktivity (1)

Článek pro vás napsal David Jančík [sczdavos]
Avatar
Autor je vášnivý programátor v .NET C# a PHP. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 


Miniatura
Všechny články v sekci
GameMaker - Efekty

 

 

Komentáře

Avatar
bakuluk
Člen
Avatar
bakuluk:

Dej to všechno do "Step" a počkej chvilku :D je to dost hypnotický

 
Odpovědět 8. září 17:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.