particle gravitace

Pokud si nevíte s něčím rady ohledně tvorby v Game Makeru - pište sem!
Post Reply
BboyScary
Posts: 244
Joined: November 2, 2011, 6:33 pm
Facebook: https://www.facebook.com/BB-Scary-produkce-1161668
Location: Kopřivnice

particle gravitace

Post by BboyScary »

Ahoj. Mám vytvořený particle systém, jsou to jen obyčejné pixely na ploše okruhu. Chtěl bych jim dát gravitaci tak, aby se všechny posunovaly do středu toho kruhu. Když dám part_type_gravity a jako direction zkouším třeba object_index, x, y, nebo název toho objektu.x atd vždy všechny ty částice jdou všechny jedním směrem. Nevíte někdo jak na to? Zkoušel jsem to dát do create i do stepu. Výsledek stejný.

create:

Code: Select all

particle_1_sys = part_system_create();
particle_1_emit = part_emitter_create(particle_1_sys);
particle_1 = part_type_create();
part_type_life(particle_1, 14, 14);
part_type_sprite(particle_1, spr_pixel, 1, 0, 1);
part_type_orientation(particle_1, 1, 20, 1, 1, 1);
step:

Code: Select all

    part_emitter_region(particle_1_sys, particle_1_emit, x - r, x + r, y - r, y + r, ps_shape_ellipse, ps_distr_gaussian);
    part_emitter_burst(particle_1_sys, particle_1_emit, particle_1, 30);
to r je jen poloměr toho kruhu, ten se zvětšuje.
User avatar
ipq
Posts: 929
Joined: August 15, 2011, 7:31 pm
Location: Petržalka

Re: particle gravitace

Post by ipq »

U particles je problém ten, že sa nedá u nich kontrolovať pozícia a smer, kde sú a kam idú a taktiež to, že nieje možné(čo je škoda) ich meniť počas toho, keď sú zobrazené, len u tých, čo sa spawnú.

Skôr by som to zmenil tak, že by sa emitter zrušil a nahradil klasickým scriptom, ktorý by sám náhodne spawnoval particles ale počas toho by sa spravila kalkulácia(pozícia a smer), ktorá sa bude aplikovávať na ne a tak meniť smer aby to vyzeralo, že idú k stredobodu ako by ich niečo priťahovalo.
BboyScary
Posts: 244
Joined: November 2, 2011, 6:33 pm
Facebook: https://www.facebook.com/BB-Scary-produkce-1161668
Location: Kopřivnice

Re: particle gravitace

Post by BboyScary »

tak zkoušel jsem a dělá to to samé. Nechápu :D dal jsem i to že v jednom objektu se vytváří částice a ty mají gravitaci k druhému objektu. Ten druhý vytváří každý step nové a nové ty objekty s částicemi a i tak jdou všechny stejným směrem. (vím že takhle by mi to hru dost zasekalo ale zkusil jsem)
User avatar
ipq
Posts: 929
Joined: August 15, 2011, 7:31 pm
Location: Petržalka

Re: particle gravitace

Post by ipq »

Keby som v GM robil, tak by som skúsil niečo spraviť a otestovať to ale nakoľko už s GM nerobím, viem to maximálne poradiť len v teoretickej časti a bez scriptu či ukážky.

Ale skúsim znovu...

Všimol som si, že GM podporuje Box2D, čo je fyzikálny engine integrovaný v tom a je tam položka Soft Body Particles, čo som si pozeral v manuálu, možno s toho by sa dalo použiť to ako gravity particles a upraviť to tak aby reagovali na gravitáciu. Ak si hral Angry Birds Space, tak tam bolo tiež vidieť, ako bola upravená fyzika. Objekty gravitačne reagovali len na tie planéty, čo ich priťahovali v závislosti ak boli už v gravitačnom poli.

Druhá možnosť, myslel som to takto:
step:

Code: Select all

var nahx,nahy,smer,dlzka;

nahx=x+lenghtdir_x(r-random(r),random(360));
nahy=y+lenghtdir_y(r-random(r),random(360));
smer=point_direction(x,y,nahx,nahy);
dlzka=point_distance(x,y,nahx,nahy);

part_type_direction(particle_1,smer,smer,0,0);
part_type_speed(particle_1,dlzka/14,dlzka/14,-(dlzka/14),0);

part_particles_create(particle_1_sys,nahx,nahy,particle_1,1);
nahx a nahy by mali simulovať ps_shape_ellipse s ps_distr_gaussian ale nieje zaručené, že to tak pôjde nakoľko je to spackané v notepade(tím že v GM už nerobím) a čo sa týka tej 14-tky pri dlzka, to je životnosť, ktorú máš uvedenú v particles v life. V prípade, ak ich chceš viac vykresliť napr. 30, ako to tam vidím, trebalo by dať ten kôd do repeat napr.: repeat(30). Ak chceš aby sa menil smer i spritesu u particles, stačí to tam pridať a dať mu to samé ako u direction.
BboyScary
Posts: 244
Joined: November 2, 2011, 6:33 pm
Facebook: https://www.facebook.com/BB-Scary-produkce-1161668
Location: Kopřivnice

Re: particle gravitace

Post by BboyScary »

aha díky za radu chápu všechno. Až vyzkouším, dám vědět. Děkuju
Post Reply