Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Detekcija sudara sprajta i terena u 2D igrama

[es] :: 3D programiranje :: Detekcija sudara sprajta i terena u 2D igrama

[ Pregleda: 3614 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shima

Član broj: 27002
Poruke: 164
*.64.EUnet.yu



Profil

icon Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 19:56 - pre 238 meseci
Dakle u pitanju je skrolujuca pucacina (kao Scramble). Kako detektovati sudar svemirskog broda i terena? Kako isprogramirati i pripremiti teren?

Ja se ovim ne bavim ali nam treba: Evo i konkretnog pitanja developera:
"Ali postoji problem sa terenom. Pa i da ga loadujem meni je najveci problem da detektujem pad letelice tj kada ona udara o podlogu. Mozda vi mozete u to c++ ali u fleshu je jedino to moguce ako za svaki povrsinski pixel texture pamtim koordinate, a posto ima 550 pixela, a teren se skroluje i svaki put dugacije izgleda, to postaje nemoguc zadatak. Ima memorija da prsne... Sada posto nisam sve lepo stigao da ulepsam, povrsina mi je nacrtana slika sirine 550 koja se stalno skroluje, kao da je brod usao u vremenski vrtlog... A sudar sa zemljom detektujem kada brod prodje ispod nevidljive granice koja se nalazi otprilike na povrsini, ali negde zaseca povrsinu a negde ide iznad, zato sto je teren nepravilan."
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 20:07 - pre 238 meseci
U najgorem slucaju uvek moze da uradi sledece:

Brodic staje u pravougaonik sa koordinatama X, Y, sirine W i visine H. For (ili nekom slicnom petljom) proverava boju pixela na koordinatama od X, Y+H do X+W, Y+H. Na vrhu terena se nalazi zemlja, led, pesak (zavisi od nivoa) i taj vrh terena (prvih desetak pixela) ima neku fiksnu boju (braon, plavu, zutu) i kada prilikom provravanja boje pixela naidje na tu definisanu boju znaci da je brodic "usao" u teren i treba da pukne :) Tako sam radio dok nisam poceo da se bakcem sa 3D programiranjem.
 
Odgovor na temu

shima

Član broj: 27002
Poruke: 164
*.94.eunet.yu



Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 20:12 - pre 238 meseci
Ima neka standardna caka kako se to radi u 2D igricama. Nazalost nisam upucen dovoljno.
Npr. neka 2D igrica za izgled nivoa kao i raspored objekata moze da ucitava tekstualni fajl kod koga je svaki karakter valda jedan sprajt ukljucujuci i teren koji se (valda) pravi od sprajtova. Na slicnu foru izgleda radi i alat Game Meker. Evo npr. delova tog fajla:
.....................................................................................
.....................................................................................
.......................x...............x...........x...........x.....................
..........x..........x......w.......x............x.x.....w....x........x...........e.
.................x.....x...............x........x............x........x...x..........
.................................................x.x............m.m....x.....x.......
................f..............mfm.................x..........m11111.m...............
............m..1111mm........f.11111f.mfm.m.f.mmm...........m1111111111f.............
.....f..mf.111111111111..mf.11111111111111111111111111..f.f.1111111111111..f..f...f..
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
!
...........................................................................x................................33333333333333
...............xx............x...........w.......................w.......x..x.........w.......w................33333333333
.............xx............w.x..........w..xxx.........w........wz......x....x.....x..w......w..z.......xxxx.........33333
............x...xx...........x...........w............zw.........w.....x..........x...w.......w...............yw........33
.............xx...................m222.................w.........................x..........................y..wy..y....ze
...............xx................m2222...............................m22m...........................xxxx......y.........z.
................................m22222..............................m2222m..........................................m..333
....................2mffm2.....m222222mmffm...........f............m222222m........mmm..........................mm.3333333
.......2222m2m2m2m22222222222222222222f22222m2m2m2m2m222....2222ff2222222222..f.mmm222..2f22222f2222222f22...mm33333333333
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333
!
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
...3............333...................333333333333333333333333..............33333333.............333333333333333................y..w.....3333
.................3.........y.y...........3333333333333333333.......y...........333.................333333333333...........y...............333
......y....................y.y........y......33333333333........................3.......y.....w.....333333333......w...............w.......33
.........................................y.....33....33........y...y.....3...................................................y..........y...3
......y.......3........33....333........y.y.....3.....3..................33.3.................w....................w...............w.........
.............33....m..3333m3333333.......y..................y............33333m.m..f....f..............m.....mf............................33
.........m.33333333333333333333333333333...m........................333333333333333333333333mfm333333f33333333333m.................w......333
....f...333333333333333333333333333333333333m......f...........mfm333333333333333333333333333333333333333333333333fm..f....mmmmmmmg..ff.f3333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
!
Jasno se razaznaje sta je teren a sta ne. Ne razumem se bas ali ako je teren sacinjen od "sprajtova" onda se moze detektovati sudar?
Cini mi se da je ono 1, 2 i 3 oznaka za nivo...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 20:40 - pre 238 meseci
To je otprilike isti sistem samo sto se podaci ne uzimaju direktno sa ekrana nego iz nekog bafera koji sadrzi podatke o mestima gde je teren, gde je nebo i slicno. U ovom slucaju nije potrebno da teren ima neku odredjenu boju.
 
Odgovor na temu

4txx
Milan Lalic
Beograd

Član broj: 34204
Poruke: 135
*.dial.b92.net



Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 20:52 - pre 238 meseci
Ovaj odgovor da detektujem sudar tako sto gledam koja je boja pixela, moram da odbacim jer je to prosto ne moguce u flashu. Ali pokusacu da napravim neku vrstu 'bafera koji sadrzi podatke o mestima gde je teren'. To je najlogicnije resenje, i pokusacu da ga primenim.

hvala na odgovorima.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama17.09.2004. u 21:09 - pre 238 meseci
Hehe... ja sam pixele citao u DOS-u :)
Ne bi trebalo da bude tesko... mogao bi da imas jedan niz u kojem cuvas minimalne visine za svaki deo odredjenog nivoa (cak taj niz mozes da punis i dinamicki ako koristis random za generisanje terena u toku igranja).
 
Odgovor na temu

4txx
Milan Lalic
Beograd

Član broj: 34204
Poruke: 135
*.dial.InfoSky.Net



Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama19.09.2004. u 13:14 - pre 238 meseci
da ali sta ako npr pravimo neki lavirint(level), gde ce podloga biti i gore i dole, kao sto je pecina...

Ja sam se snasao u flashu. Ima komanda hitTest sa kojom ukucas koordinate broda i ono ti samo odgovori da je te koordinate propadaju terenu. Oko broda napravis 4 tacke i za svaku proveris da li je zasla u teren, i ako je barem jedna zasla dolazi do pada broda...
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com



+4 Profil

icon Re: Detekcija sudara sprajta i terena u 2D igrama19.09.2004. u 19:49 - pre 238 meseci
U svim 2D igrama su tereni sachuvani u obliku mape, odnosno grida (2-dimenzionalni niz).
U gridu, za svaku celiju, stoji informacija shta se tu nalazi - prazno polje (znachi nema terena) ili neki od tajlova terena (jer se "delici" terena uglavnom prave kao tajlabilni).
Ako transformishesh koordinate svog sprajta u koordinate terena, trivijalno je ispitati da li sprajt dodiruje neku od celija koje su oznachene kao "teren".
Ako taj prvi test prodje, mozhesh preci na pixel2pixel test za precizni test kolizije.
Sorsova za test ovog tipa imash na netu u izobilju.
 
Odgovor na temu

[es] :: 3D programiranje :: Detekcija sudara sprajta i terena u 2D igrama

[ Pregleda: 3614 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.