我正在使用WASD键进行简单的相机移动:
switch (k) {
case SDLK_w:
this->up = true;
break;
case SDLK_s:
this->down = true;
break;
case SDLK_a:
this->left = true;
break;
case SDLK_d:
this->right = true;
break;
default:
break;
}
这是非常自我解释的。但是当我按下w
时,它根本没有检测到该按钮按下。如果我按a
或d
或s
,则有效。关于它的一个很酷的事情是,如果我只是将SDLK_w
更改为任何其他按钮(让我们说SDLK_q
)保持相同的确切代码,它就可以了。这不是我如何处理this->up
的问题,因为即使我在case SDLK_w:
内的屏幕上打印了一些东西而我按下它也不会打印任何内容。
w有什么问题?
答案 0 :(得分:0)
这可能取决于您使用的键盘类型,实际上您的W和Z键可能会被反转,具体取决于您的键盘布局。我建议你尝试ALT + SHIFT。
答案 1 :(得分:0)
请勿为此使用SDLK_w,因为它会为您提供实际上会给您W字母的键,而您想要的是无论在哪种布局下都希望在W位置找到的键,您可以使用扫描码来实现,在这种情况下为SDL_SCANCODE_W。