测试汽车物体相对于世界坐标的碰撞

Testing collision of car object with respect to the world coordinates

本文关键字:世界坐标 碰撞 相对于 汽车 测试      更新时间:2023-10-16

我正在做一个opengl C++停车场游戏。我想测试我的汽车对象的碰撞,我有 10 个汽车相对于世界坐标的末端顶点。并将它们分别存储在 x 和 y 的两个数组中,分别为 x[10] 和 y[10],所以现在假设我需要有一条障碍线,汽车不应该通过,并且 ve 结束坐标为 (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);
    }
}

以上是我代码的一小部分...我没有得到准确的结果,它不起作用。我是否为下键执行其他碰撞功能?

OpenGL既不是数学,也不是几何,也不是碰撞检测,也不是物理库。这是一个绘图API,它所做的只是将漂亮的图片绘制到屏幕上。时期。

您需要的任何其他内容都必须自己实现或使用第三方库。