GLUT 菜单会导致 OpenGL 游戏出现问题?
GLUT menu creates problems with OpenGL game?
我正在尝试使用 GLUT 和 OpenGL 制作 2D 游戏。我使用的是单击鼠标右键弹出的菜单,菜单工作正常,但为了重新加载我的绘图功能,我必须再次单击右键。例如,如果通过单击按钮进行更改以查看更改,我必须再次单击。
int main(int argc,char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(50, 50);
glutInitWindowSize(800, 800);
glutCreateWindow("GAME");
init();
glutDisplayFunc(drawgame);
glutMouseFunc(clickforaction);
glutCreateMenu(MenuSelect);
glutAddMenuEntry("Action",1);
glutAddMenuEntry("Action2",2);
glutAttachMenu(GLUT_RIGHT_BUTTON);
glutMainLoop();
}
您必须在单击鼠标时更新显示。调用 glutPostRedisplay
将当前 window 标记为需要重新显示。
void clickforaction(int button, int state, int x, int y)
{
// [...]
glutPostRedisplay();
}
我正在尝试使用 GLUT 和 OpenGL 制作 2D 游戏。我使用的是单击鼠标右键弹出的菜单,菜单工作正常,但为了重新加载我的绘图功能,我必须再次单击右键。例如,如果通过单击按钮进行更改以查看更改,我必须再次单击。
int main(int argc,char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(50, 50);
glutInitWindowSize(800, 800);
glutCreateWindow("GAME");
init();
glutDisplayFunc(drawgame);
glutMouseFunc(clickforaction);
glutCreateMenu(MenuSelect);
glutAddMenuEntry("Action",1);
glutAddMenuEntry("Action2",2);
glutAttachMenu(GLUT_RIGHT_BUTTON);
glutMainLoop();
}
您必须在单击鼠标时更新显示。调用 glutPostRedisplay
将当前 window 标记为需要重新显示。
void clickforaction(int button, int state, int x, int y)
{
// [...]
glutPostRedisplay();
}