Efektné ohňostroj pomocou GM Particles
Dnes si ukážeme ako sa dá vytvoriť pomocou častíc efektné ohňostroj.
- Najprv vytvoríme časticový systém Create part system (hĺbku netreba nastavovať)
- Potom vytvoríme raketu (čo vzlítne do oblakov) pomocou akcie create Particle -
tvar zvolíme sphere (guľa)
- môžete prípadne použiť nejaký vlastné sprite
- minimálna a maximálna veľkosť nastavíme na 0.25 (čiže častice vždy chceme vytvárať o rovnakej veľkosti)
- meniť veľkosť nechceme takže size increment ponecháme 0
- V Particle color nastavíme nejakú tmavšie farbičku (tmavo hnedú napríklad) u color1 aj color2 (chem stále rovnakú) počiatočné aj koncové alpha priehľadnosť bude tiež rovnaká a to "1"
- Particle life nastavíme obe hodnoty na približne 50 (vyletí hore a po 50tich krokoch zmizne)
- Teraz časticu nastavíme rýchlosť
- rýchlosť nastavíme na 8-12
- smer urobíme koláčový -> 80-100
- a trenie nenastavuje
- Nastavíme ľahkú gravitáciu Particle gravity - zhruba 0.15 smerom nadol (270)
- Vytvoríme novú časticu (nezabudnite zmeniť typ na 1 a dávajte
si na to pozor pri ďalšom nastavovaní vlastností pre túto
časticu) - tvar zvolíme flare
- minimálna veľkosť 0.15 a maximálna 0.2
- size increment zostane rovný 0
- Nastavíme meniace sa farbu od svetlo červenej po svetle zelenú pričom počiatočná alpha bude 1 a koncová 0 (bude žiariť farbami a postupne vyhasne)
- U životu dáme ľahkou odchýlku 25-30
- Rýchlosť nastavíme 0-5, smer je neobmedzený (0-360) a trenie žiadne
- Gravitáciu nastavíme o niečo vyššiu hodnotu ako u rakety 0.2 a smer opäť zemskej príťažlivosti (270)
- Teraz je potrebné pomocou akcia Particle secondary nastaviť, že sa po výbuchu
(zmiznutí) rakety vytvorí efekt (druhá častice) - prvá kolónka type id
-> určuje pre ktorú časticu chceme onú novú časticu vytvoriť
- step type -> určuje typ častice ktorý sa bude vytvárať po dobu čo častice existuje tu nemusíme voliť nič
- tu nemusíme voliť nič
- step count -> počet častíc čo sa bude vytvárať po dobu čo častice existuje hodnota zostane rovná 0
- hodnota zostane rovná 0
- death type -> častice ktorá sa vytvorí po zničení zadanej častice v type id či vyberieme druhú časticu (efekt po výbuchu)
- či vyberieme druhú časticu (efekt po výbuchu)
- death count -> počet častíc zadaného typu ktorý sa vytvorí po zničení častice zadané v type id tu zadáme zhruba 100
- tu zadáme zhruba 100
- A teraz už vytvoríme Emitter
- tvar zvolíme rectangle
- budeme chcieť vytvířet po celej šírke obrazovky a kúsok pod ňou aby
nebolo vidieť náhlej vytvorenie častice xmin = 0; Xmax = room_width
ymin a ymax = room_height + 30
- xmin = 0; Xmax = room_width
- ymin a ymax = room_height + 30
- A použijeme akciu Stream from Emitter kde vyberieme raketu a počet zadáme -6 (každých 6 krokov sa vytvorí častice)
//particle system psyst = part_system_create(); //raketa ppart1 = part_type_create(); part_type_shape(ppart1, pt_shape_sphere); part_type_size(ppart1, 0.25, 0.25, 0, 0); part_type_color1(ppart1, make_color_rgb(100,30,10)); part_type_alpha1(ppart1, 1); part_type_life(ppart1, 50, 50); part_type_speed(ppart1, 8, 12, 0, 0); part_type_direction(ppart1, 80, 100, 0, 0); part_type_gravity(ppart1, 0.15, 270); //efekt po výbuchu ppart2 = part_type_create(); part_type_shape(ppart2, pt_shape_flare); part_type_size(ppart2, 0.15, 0.2, 0, 0); part_type_color2(ppart2, c_red, c_green); part_type_alpha2(ppart2, 1, 0); part_type_life(ppart2, 25, 30); part_type_speed(ppart2, 0, 5, 0, 0); part_type_direction(ppart2, 0, 360, 0, 0); part_type_gravity(ppart2, 0.2, 270); //po zničení rakety vytvořit efekt part_type_death(ppart1, 100, ppart2); //vytvoření emitteru emitter = part_emitter_create(psyst); part_emitter_region(psyst, emitter, 0, room_width, room_height+30, room_height+30, ps_shape_rectangle, ps_distr_linear); part_emitter_stream(psyst, emitter, ppart1, -6);
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 768x (10.01 kB)