退出 glutFullScreen()

Dor*_*tuh 4 c++ opengl glut

我不明白为什么当我按“f”时它进入全屏但不退出全屏。在这个方法的开头我已经设置了bool fullscreen = false;

这是我的切换代码:

case 'f': //toggle screenmode
    if(!fullscreen){
        glutFullScreen();
        fullscreen = true;
    } else if(fullscreen){
        glutReshapeWindow(1200, 900);
        glutPositionWindow(0,0);
        fullscreen = false;
    }
    break;
Run Code Online (Sandbox Code Playgroud)

Nic*_*las 5

在此方法的顶部我设置了 bool fullscreen = false;

每次你按下一个键,GLUT就会调用你的键盘处理程序。在键盘处理程序的顶部,您创建一个bool名为 的变量fullscreen并将其值设置为false无论您是否处于全屏模式,都会发生这种情况。每次你按下一个键,就会发生这种情况。

如果您想保留一个实际跟踪当前是否全屏的布尔变量,那么您需要使用全局. 并且您不需要在函数开始时设置它您在创建窗口时设置一次,只有在更改窗口的全屏状态时才再次设置。