Problem mit Kollisonsabfrage
-
Hi,
ich habe ein Problem mit der Kollisonsabfrage und zwar habe ich 2 Vierecke und ich versuche gerade nur die Y-Achse abzufragen also so:void kollision(float *OYPOS,float spielerYpos, bool &kollidiert) { if(OYPOS[0] == spielerYpos) //OYPOS[0] ist die Y-Position des objekts { kollidiert=true; } else { kollidiert=false; } }und jetzt ist es so das es nur ganz selten mal stopt wenn sie die gleiche Y-Position haben. ich habe die Zahlen ausgeben lassen und sie sind oft gleich aber es fährt fast jedes mal darüber.
hier noch die Tastaturabfrage:
z.B
bei UP:else if(key[SDLK_UP]) { Spieler.showObjekt("phinten.bmp",1); spielerYpos=Spieler.getYPos(); spielerXpos=Spieler.getXPos(); if(kollidiert==false) { spielerYpos+=0.005; cameraY-=0.002; Spieler.setYPos(spielerYpos); } }Die Kollisoinsabfrage ist eine Funktion die rufe ich dann am Ender der main schleife auf und davor speichere ich nochmal die aktuelle Position von dem Spieler:
spielerYpos=Spieler.getYPos(); spielerXpos=Spieler.getXPos(); kollision(OYPOS,spielerYpos, kollidiert);Auserhalb der main schleife speicher ich schon die Y-Position von dem Objekt in das Array OYPOS[0];
Ich hoffe ihr könnt mir helfen ich benutze c++ + SDL + OpenGL und den DevC++ als Compailer
mfg Fabi
-
Hat sich erledigt