关于革命的作文300字:C语言一函数问鬼火狼烟

来源:百度文库 编辑:高考问答 时间:2024/04/28 15:53:20
C语言那个键盘函数 key什么的,在dos头文件中的
我想你知道我说什么呢吧 问:
一:怎么用这个函数?
例如 利用键盘上下左右移动小球-ESC退出
二:有没有这方面文章?
鬼火狼烟大虾米请回答

你可以在你的头文件包含下面头文件<windows.h>

然后定义宏:
#define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)

然后在游戏程序的主循环中使用类似下面的过程来判断:
if(KEY_DOWN(VK_LEFT))
{
left();
}
if(KEY_DOWN(VK_RIGHT))
{
right();
}
if(KEY_DOWN(VK_UP))
{
up();
}
if(KEY_DOWN(VK_DOWN))
{
down();
}

你可以试试呵呵

---------------------------------------
仔细看了你的问题,发现你好像是在DOS下做的程序,如果是这样,就需要用到BIOSKEY函数,这个函数的定义在bios.h中,你可以参考里面的注释,有详细的解释.下面给个例子:
#include <stdio.h>
#include <bios.h>

#define RIGHT 0x01
#define LEFT 0x02

int main(void)
{
int key, modifiers;
modifiers = bioskey(2);
if (modifiers)
{
if (modifiers & RIGHT) printf("RIGHT");
if (modifiers & LEFT) printf("LEFT");

}
上面可以判断按下了什么键,你可以把判断写在game的loop中,虽然boiskey(2)是离散读取,但是由于你的loop极快,又是和帧相关的所以实际的效果会很流畅,bioskey(2)的返回值的低8位是按下的键,其他的所有键的对应值你可以直接参考bios.h的注释即可.