在openGL中'删除'四元组

时间:2011-03-16 14:54:56

标签: opengl

即时创建一个游戏,我的角色射出一颗子弹,然后与一个敌人发生碰撞,这个就像这样在display()中绘制;

glPushMatrix();
        glTranslatef(260, -180, 0.0);
        e[0] = new Platform(0, 0, 0, 40, 40, 40, 40, 0, textures[17], 260, -180);
    glPopMatrix();

如果子弹发生碰撞,我该如何删除/不绘制物体?我不是在代码之后只知道如何去做,谢谢!

2 个答案:

答案 0 :(得分:2)

if ( bullet hits character ){
    listOfCharacters.remove(character)
)

以后:

function drawAllCharacters :
    for each Character in listOfCharacters :
        draw Character

(不确定这是你想要的那种东西)

答案 1 :(得分:1)

我没有看到任何绘图代码,但一般原则是有条件地跳过绘图。如果你是集体绘制四边形而不是单独绘制四边形,那么可能需要做一些工作。例如,从glDrawArrays切换到glDrawElements,您只能绘制已定义的四边形的子集。