Problem mit Kollisonsabfrage

FaNo86

Mitglied
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:
Code:
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:
Code:
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:
Code:
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
 
Zurück