我的顯示()函數,我把氣球位置的值,以彈出()如何通過點擊鼠標來破壞氣球?
void display()
{
glClear (GL_COLOR_BUFFER_BIT);
// update balloon position
p = 0;
for(w=0; w<100; w++)
{
p = rand() % speedrange;
balloon[w].pos.y = balloon[w].pos.y + speed[p];
}
for(balloonBurst=0; balloonBurst<100; balloonBurst++)
{
drawCircleOutline(balloon[balloonBurst]);
if(mouseleft){
pop(balloon[balloonBurst].pos.x,balloon[balloonBurst].pos.y);
}
}
glutSwapBuffers();
}
這是我的鼠標功能
void mouse(int button, int state, int x, int y)
{
if (button==GLUT_LEFT_BUTTON)
{
mouseleft = (state == GLUT_LEFT_BUTTON);
mouseX = x;
mouseY = y;
/*tex_2d = SOIL_load_OGL_texture(
"balloonBurst.png",
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT);*/
}
}
這是我的彈出()函數
void pop (float x, float y)
{
if(x - 0.1f <= mouseX/800 <= x + 0.1f && y - 0.1f <= 1 - mouseY/800 <= y + 0.1f)
{
tex_2d = SOIL_load_OGL_texture(
"balloonBurst.png",
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT);
}
}
我不知道如何鏈接它並比較鼠標位置和氣球位置的值。