GLUT菜单会在OpenGL游戏中产生问题吗?

时间:2019-11-18 18:20:27

标签: c opengl glut

我正在尝试使用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(); 
}

1 个答案:

答案 0 :(得分:1)

单击鼠标时必须更新显示。调用glutPostRedisplay以将当前窗口标记为需要重新显示。

void clickforaction(int button, int state, int x, int y)
{
    // [...]

    glutPostRedisplay();
}