C++ OpenGL,我如何在达到目标后禁用glutSpecialFunc?
我们正在OpenGL中制作一个类似迷宫的程序,我们允许用户使用箭头键在屏幕上移动目的地。当用户使用箭头键到达目的地时,我想禁止用户再使用键盘。有没有一种方法可以让我做一些glutSpecialFunc.disable?下面是我想在if语句中放置disable的位置:C++ OpenGL,我如何在达到目标后禁用glutSpecialFunc?,c++,opengl,C++,Opengl,我们正在OpenGL中制作一个类似迷宫的程序,我们允许用户使用箭头键在屏幕上移动目的地。当用户使用箭头键到达目的地时,我想禁止用户再使用键盘。有没有一种方法可以让我做一些glutSpecialFunc.disable?下面是我想在if语句中放置disable的位置: void myKeyboard(int keys, int x, int y){ switch(keys){ ... } if(location == G.source){ cout<<"\nY
void myKeyboard(int keys, int x, int y){
switch(keys){ ...
}
if(location == G.source){
cout<<"\nYou have completed the game";
drawShortestPath();
/* Enter disable code here */
}
}
void myKeyboard(整数键、整数x、整数y){
开关(钥匙){。。。
}
如果(位置==G.source){
cout当玩家到达目标/目的地时,只需切换一个布尔值,然后在myKeyboard()
函数中检查该布尔值
bool game_done = false;
void myKeyboard(int keys, int x, int y) {
if (!game_done) {
switch(keys) {
// ... the rest of your code ...
}
}
}
然后,当玩家到达目标/目的地时,只需说game\u done=true;
不要调用布尔值game\u done
而可以将其称为lock\u keyboard
,这样总体上可能更有意义
然后,如果您想再次“激活”键盘,只需再次切换布尔值(将其设置为false)