little help

Started by
31 comments, last by phil67rpg 11 years, 4 months ago
I have integrated spiros code into my code but it still does not do collision detection.
[source = c++]
void drawScene() {

glClear(GL_COLOR_BUFFER_BIT);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glEnable(GL_TEXTURE_2D);

glBindTexture(GL_TEXTURE_2D,_textureId_four);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-0.5f , 0.0f);
glEnd();
}
}

glDisable(GL_TEXTURE_2D);

glEnable(GL_TEXTURE_2D);

glBindTexture(GL_TEXTURE_2D,_textureId_three);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-0.5f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.0f, 0.0f);
glEnd();
}
}

glDisable(GL_TEXTURE_2D);

glEnable(GL_TEXTURE_2D);

glBindTexture(GL_TEXTURE_2D,_textureId);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

for ( int I = 0; I < ENUM_TOTAL_BLOCKS; ++I ) {
if ( g_bBlock.m_bActive ) {
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.0f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(g_bBlock.m_fX+2.0f, g_bBlock.m_fY-1.5f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(g_bBlock.m_fX, g_bBlock.m_fY-1.5f, 0.0f);
glEnd();
}
}

glDisable(GL_TEXTURE_2D);

glEnable(GL_TEXTURE_2D);

glBindTexture(GL_TEXTURE_2D,_textureId_two);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

//draw paddle
glBegin(GL_QUADS);
glTexCoord2f(-1.0f, 0.0f);
glVertex3f(-1.0f+j, -4.5f, 0.0f);
glTexCoord2f(-1.0f, 1.0f);
glVertex3f(1.0f+j, -4.5f, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(1.0f+j, -5.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f+j, -5.0f, 0.0f);
glEnd();

glDisable(GL_TEXTURE_2D);

if(x>=3.0f && x<=5.0f && y>=3.5f && y<=4.0f)
{
bricks[3][5]=0;
glColor3f(0.0f,0.0f,0.0f);
glRectf(3.0f,4.0f,5.0f,3.5f);
}

//draw ball
glColor3f(1.0f,1.0f,1.0f);

glRectf(x,y,x+rsize,y-rsize);

glutSwapBuffers();
}
[/source]
I made some adjustments to her code.
Advertisement
Look at the rendering code.
if ( g_bBlock.m_bActive ) {

Do you not understand what this does?
Obviously if you want a brick to stop being drawn you have to set this to false.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

this is a Boolean array object if it is true then it draws a brick, if it is false then it does not draw a brick. my question is where do I put this code into.

This topic is closed to new replies.

Advertisement