gpt4 book ai didi

C++ GetAsyncKeyState 替代方案

转载 作者:行者123 更新时间:2023-11-28 03:17:04 27 4
gpt4 key购买 nike

我正在使用 Windows.h 库的 GetAsyncKeyState 函数来定义按下键盘上的哪个键。例如,这是返回按下的键的 int 值的程序。

#include <iostream>
#include <windows.h>
using namespace std;
int main (){
char i;
for(i=8;i<190;i++){
if(GetAsyncKeyState(i)== -32767){
cout<<int (i)<<endl;
}
}

return 0;
}

但现在我正在尝试制作一个非常简单的 openGl 游戏,而这个功能似乎非常慢。是否有一个函数不需要 for 循环 180 次和 if 语句。

谢谢

最佳答案

您正在尝试制作 opengl 游戏,因此您可能会使用 GLFW。如果是这种情况,那么您可以像这样使用 glfwGetKey() :

if (glfwGetKey(GLFW_KEY_UP) == GLFW_PRESS) {...}
if (glfwGetKey(GLFW_KEY_DOWN) == GLFW_PRESS) {...}

tutorial 6 中很好地解释了该方法来自 opengl-tutorial.org .但是您可能应该从 beginners tutorials 的第一个教程开始及以后 intermediate tutorials .

如果你打算自己制作 win32 窗口,你可以监听 WM_KEYDOWN。或 WM_KEYUP消息并获取 virtual key code来自 wparam。经过一分钟的谷歌搜索后,我找到了这两个网站作为示例 herehere .

关于C++ GetAsyncKeyState 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com