我不明白为什么当我按“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;
最佳答案
好吧,您期望发生什么?
每次您按下一个键,GLUT都会 call 您的键盘处理程序。然后,在键盘处理程序的顶部,创建一个名为bool
的fullscreen
变量,并将其值设置为false
。无论您是否处于全屏模式,都会发生这种情况。每次您按一个键,就会发生这种情况。
如果您想保留一个 bool(boolean) 变量来实际跟踪您当前是否处于全屏状态,则需要使用全局变量。并且您无需在功能开始时进行设置。您在创建窗口时只设置一次,而仅在更改窗口的全屏状态时才再次设置。
关于c++ - 退出glutFullScreen(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13083967/