#include "UI.h"
using namespace std;
int UI::Input(){
int KeyPressed = 777; //Doesn't matter being intialized
if (kbhit()){//Fix???
KeyPressed = getch();
} /End Fix???
if ( KeyPressed == 0 || KeyPressed == 224 ){//
KeyPressed = 256 + getch();
}
if (KeyPressed == Left){
return 1;
} else if (KeyPressed == Right){
return 2;
} else if (KeyPressed == Up){
return 3;
} else if (KeyPressed == Down){
return 4;
} else if (KeyPressed == Pause){
return 5;
} else if (KeyPressed == Accept){
return 6;
} else if (KeyPressed == Cancel){
return 7;
} else if (KeyPressed == Menu){
return 8;
}
return -9;//No input
}
所以这个函数在代码中使用时不会返回任何东西。我正在使用 Visual Studio。
据我所知,如果我在 if 语句的开头放置一个断点,它甚至都没有到达。出于某种原因,关于 getch() 的行对我的函数做了一些事情,但我不知道是什么。
任何解释为什么我的函数没有进入 if 语句的建议都值得赞赏。
好吧,我觉得我现在很愚蠢地找到了解决办法。将确认功能蠕变后是否仍然有效