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:
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:
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:
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
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