我正在尝试使用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();
}
答案 0 :(得分:1)
单击鼠标时必须更新显示。调用glutPostRedisplay
以将当前窗口标记为需要重新显示。
void clickforaction(int button, int state, int x, int y)
{
// [...]
glutPostRedisplay();
}