anders02 Skrevet 23. september 2006 Del Skrevet 23. september 2006 Hei! Jeg holder på å lage et spill der både spilleren og objektene i spillet består av transparente (og animerte) PNG-bilder. Kollisjonsdetekteringen består nå av at jeg sjekker om to av bildene overlapper. Dersom de gjør det er det kollisjon. Dette fører ofte til at spillet oppdager kollisjoner som for spilleren ikke ser ut som kollisjon fordi det er en del av det transparente området i et bilde som overlapper med et annet bilde. Jeg ser for meg at en løsning på problemet innebærer å først gjøre sjekken jeg beskrev over, og deretter, hvis det er overlapping/kollisjon, gjøre en grundigere sjekk. Finnes det noe bedre løsning enn å sjekke piksel for piksel om bildene overlapper der begge bildene er ikke-transparente, eller finnes det bedre løsninger på problemet? Anders Lenke til kommentar
anders02 Skrevet 24. september 2006 Forfatter Del Skrevet 24. september 2006 Jeg glemte å skrive at spillet er i 2D, men det sa seg kanskje selv... Lenke til kommentar
krigun Skrevet 25. september 2006 Del Skrevet 25. september 2006 (endret) Jeg glemte å skrive at spillet er i 2D, men det sa seg kanskje selv... 6929815[/snapback] Å drive med per pixel kollisjonstesting brenner utrolig mange CPU sykluser. En velbrukt approach er å kapsle inn bildet ditt i et objekt, som definerer en grense rundt den synlige delen av bildet (en eller flere firkanter). En illustrasjon kan ses her: http://www.programacion.com/cursos/ags_j2m...ges/image28.gif Forresten samme fremgangsmåte for kollisjonshåndtering av komplekse objekter som i 3D (men man får en akse til å sjekke på). PS: Hvis det er et J2ME spill, så er du kanskje interessert i denne artikkelen: http://developers.sun.com/techtopics/mobil...cles/gameapi/#8 MIDP 2.0 game API dekker det meste av dine behov Endret 25. september 2006 av krigun Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå