Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL,我如何在达到目标后禁用glutSpecialFunc?_C++_Opengl - Fatal编程技术网

C++ OpenGL,我如何在达到目标后禁用glutSpecialFunc?

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

我们正在OpenGL中制作一个类似迷宫的程序,我们允许用户使用箭头键在屏幕上移动目的地。当用户使用箭头键到达目的地时,我想禁止用户再使用键盘。有没有一种方法可以让我做一些glutSpecialFunc.disable?下面是我想在if语句中放置disable的位置:

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)