1
#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 语句的建议都值得赞赏。

好吧,我觉得我现在很愚蠢地找到了解决办法。将确认功能蠕变后是否仍然有效

4

0 回答 0