用于"Ctrl + left arrow"和"Ctrl + right arrow"的八进制代码



我正在做一个C++游戏。我试图使用 getch() 方法包含字符输入。我需要 Ctrl + 和 Ctrl + 的字符代码(通常是八进制代码(来移动游戏中的对象。

就像我们有一个 按Ctrl + Z 的代码是 032 .

这是我正在使用的代码的一部分。

if (kbhit())
    {
        gotoxy(x, y);
        cout << h;
        i = getch();
        if (i == '***') //I need some code here to move my object
        {
            x=x-5;
        }
        if (i == '***') //also need here to move it to right ward
        {
            x=x+5;
        }
        if (i == LEFT && x>LEFTLIMIT)
            {
                x = x - 3;
            }
        else if (i == RIGHT && x<RIGHTLIMIT-6)
        {
            x = x + 3;
        }
    }

使用修饰键,我建议使用GetAsyncKeyState:MSDN

通过这种方式,您可以检查当前或自上次调用以来按下的每个键GetAsyncKeyState

if(GetAsyncKeyState(VK_LEFT) && GetAsyncKeyState(VK_CONTROL)) {
    ....
}

最新更新