0
我正在做一個opengl C++汽車停車場遊戲。我想測試我的汽車物體與汽車相對於世界座標的10個端點的碰撞。並且將它們分別存儲在x和y兩個數組中,分別爲x [10]和y [10],所以現在假設我需要一個屏障線,汽車不應該通過並且結束座標爲(x1,y1)和(x2,y2),其中y1 = y2 ...我該怎麼做?汽車對象相對於世界座標的碰撞測試
我試着這樣做
int collision()
{
for(i=0;i<=10;i++)
{
if(y[i]>=y1)
{printf("\a");
return 1;}}
else return 0;
}
if(key == GLUT_KEY_UP) // up
{
glTranslatef(0.0,.1,0.0);
c=collision();
if(c==1)
goto l1;
glTranslatef(0.0,.1,0.0);
c=collision();
if(c==1)
goto l1;
glTranslatef(0.0,.1,0.0);
c=collision();
if(c==1)
goto l1;
glTranslatef(0.0,.1,0.0);
c=collision();
if(c==1)
goto l1;
glTranslatef(0.0,.1,0.0);
c=collision();
if(c==1)
{l1:
glTranslatef(0,-0.5,0);
}
}
以上是我的代碼非常小的一部分......我沒有得到它的工作不準確的結果。 我還要爲down鍵做另外的碰撞函數嗎?
OpenGL是一個圖形庫,它沒有碰撞的概念。 – fredoverflow 2011-05-16 18:54:13