我们在做2048游戏的时候,利用P暂停游戏,但是当使用下键的时候,游戏就暂停了,后来查资料发现,下键和p的ASCII码都是80,应该怎么区分呢?
getch读方向键要读两次,第一次是returns 0 or 0xE0,第二次是实际key code。
或者:
#include"stdio.h" /*TC环境下*/
#include"bios.h"
main()
{
int key;
while(1)
{
if(bioskey(1)) /无等待,看是否有按键盘/
{
key=bioskey(0); /若有,则读取按键码/
printf("You have pressed the %d",key); /输出键盘码/
break;
}
}
getchar();
}
这样你就可以知道你想知道的某个按键的键盘码了;
帮你测试了一下:
↑是18432;↓是20480;H是9064;P是6512;
而且读取键盘不要用getch()之类的;
用bioskey()或是kbhit()(如果是编小游戏的话)
http://bbs.bccn.net/thread-123801-1-1.html
下键VK_DOWN不是0x28么?怎么成80了呢
不可能,ascii值不会相同的,小写字母a的ASCII值是97,后面的p更大。