我在openGl中製作了包含開始菜單畫面的遊戲。問題是當我點擊開始遊戲按鈕(這是一個紋理圖像)遊戲啓動成功,但是當我調整窗口大小然後點擊開始遊戲按鈕紋理圖像座標變化和遊戲沒有開始如何防止在調整窗口大小後更改圖像座標。如何在調整窗口大小時使用鼠標點擊圖像座標?
這裏是我的鼠標funtion
void mouseClick (int button, int state, int x, int y)
{
if (!menu)
{
xMin = 300, xMax = 400, yMin = 350, yMax = 400;
if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
{
y = height - y;
if (x >= xMin && x <= xMax && y >= yMin && y <= yMax)
{
printf_s("starting 2d Game ");
}
}
}
}
這裏是我的紋理圖像的代碼
glBegin(GL_QUAD_STRIP);
glTexCoord2f(0, 0);
glVertex2f(300, 350);
glTexCoord2f(1, 0);
glVertex2f(400, 350);
glTexCoord2f(0, 1);
glVertex2f(300, 400);
glTexCoord2f(1, 1);
glVertex2f(400,400);
glEnd();
glFlush();
這是我的矩陣投影代碼:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//gluOrtho2D(0.0, 640.0, 0.0, 440);//dino window
gluOrtho2D(0.0, 640.0, 0.0, 440);//dino window
//gluOrtho2D(1.0, 1.0, 1.0,1.0);//house window
//gluOrtho2D(1.0, 1.0, 1.0, 1.0);//bird window
glViewport(0, 0, width, height);
//glViewport(220, 100, 100, 200);
非常感謝它的工作<3 –