因为想做游戏,就想得到键盘检测的功能。
在网上搜了许久,有两个可行的方法:
- GetAsyncKeyState(key_name)
- _getch()
1,一般用宏定义简化一下用&运算得到键盘是否摁下。例如:
#define key_down(key_name) ((GetAsyncKeyState(key_name))?1:0)
key_down就是自己定义的简单函数,你也可以用an_xia(key_name),jian_pan(key_name)
然后()里的key_name是代指键盘字符的,因为我的需要,我记下了键盘字母对应大写。例如按下A,用key_down('A')就可以检测到了。
//这个函数好像一直检测键盘,我不知道怎么按一下检测一下,用Sleep()也不好用。
//然后,有人用这个检测键盘弹起,就是把1:0改成0:1,
#define key_down(key_name) ((GetAsyncKeyState(key_name))?0:1)
我试了下,感觉不太明显。
2,这个在conio.h中,con是console的缩写,io是输入输出,控制台输入输出的函数。
_getch(),得到的是一个int,你可以int 一个变量接受键盘输入,例如:
int a;
a=_getch();
if(a==97)
{
cout&l