Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: SDL ja isometrinen törmäys

kayttaja-3842 [06.02.2007 15:38:48]

#

Joo, elikkäs kuvitellaanpas mieleen isometrinen alue, jossa on 32x32 laattoja. Alueelta löytyy 1 pelaaja 1 vihollinen. Vihollinen kruisailee satunnaisiin suuntiin ympäripelikenttää siirtyen aina kerrallaan 32px eli 1 laatan verran.Noh sitten kun pelaaja ja vihollinen kohtaavat eli törmäävät toisiinsa, niin pitäisi tämä törmäys tapahtua, eli miten tämä tulisi teidän mielestänne toteuttaa parhaiten? Eikös isometrinen törmäys ole vaikeampi tehdä kun normaali esim. ylhäältäpäin kuvatun pelin törmäyksen tunnistus. Itse olen miettinyt sitä, että pelikentät pitäisi toteuttaa tilesetillä, jonkta tekovarmaa onnistuukin käyttäen pohjana tuota täältä löytyvää koodia, mutta nytten pitäisi jotenkin titeää miten kannattaisi tehdä irtioleville (liikkuville) kohteille törmäyksen tunnistus?

Eli koodia ei tarvii rustata kuhan kerrotte mitä tekniikkaa kannattaisi käyttää.

Toivottavasti saitte jotain selvää... :D

Metabolix [06.02.2007 15:51:23]

#

No esimerkiksi ihan vain tarkistaa, törmäävätkö ne. Mikä nyt oli ongelma? Ihan samalla tavallahan se törmäystarkistus toimii kuvakulmasta riippumatta, eli jos koordinaatit osuvat riittävän lähelle, on tapahtunut törmäys. Helpointa tämä on palikoilla tai pyöreillä kappaleilla. Näistä ensimmäiseen voi soveltaa tuttua törmäystarkistusta (Blazen VB-esimerkki), ja jälkimmäisessä tapauksessa voi Pythagoraan lauseen avulla laskea keskipisteiden etäisyyden. Erikoisemmille tasokuvioillekin on koodivinkki.

Mazzimo [07.02.2007 19:25:09]

#

Tässä CoolBasicille tekemäni isometrinen kirjasto:
http://konohaentertainment.arkku.net/pelit/dibisoster/ISOlibrary.exe
Suht purkkaa ja hieman hankalaa jopa lukea, mutta sieltä pitäisi löytyä törmäystarkistus liikkuville objekteille.
En ota vastaan kritiikkiä koodin selkeydestä... :P

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta