我正在做一个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)) {
....
}