如何使用键盘事件(附Demo)

1.首先介绍一下键盘有关的函数:

char *getKeyText(int key);

功能:返回按键种类



int getLastKey();

功能:返回最后按下的按键



Demo中的使用方法

在dis2角色中添加“绘制角色”事件,在脚本中添加如下代码:

int keyCode = getLastKey(); //获得最后按下的按键
sprintf(text,"最后按下的按钮是:%s", getKeyText(keyCode));//显示按钮类型



void remapKey(int fromKey, int toKey);

功能:重定向fromKey到toKey(用户配置按键).用此函数可重定向任意按键

当使用LoadGame()后所有的重定向都会被删除



char *GetKeyState();

功能:返回键盘状态的数组



使用方法(可在角色“绘制角色”事件中使用,具体使用可参照Demo):

 

char *key = GetKeyState(); //获取键盘状态

if(key[KEY_RIGHT] == 1) //测试是否按了“右方向键”

{

    x = x + 5; //把角色右移5个像素

}



2.在MC中有关键盘按键的事件有:“按键按下”、“按键弹起”两个事件,

“按键按下”即按键按下时触发,“按键弹起”即按键松开时触发。

void remapKey(int fromKey, int toKey)函数能映射这两个事件中的按键到不同按键,如:

Demo中可以将键盘g按键重定向到a按键。比如执行 remapKey(KEY_g, KEY_a);后,按g按键和按a按键是执行一样的操作的。



Demo功能:

(1)使用MC的键盘按键中的事件来移动角色(w上移5个像素,s下移5个像素,a左移5个像素,d右移5个像素),

及两个按键的组合(a、w左上,a、s左下,s、d右下,w、d右上)。

(2)重定向a、s、d、w按键到任意按键(a-z按键)

(3)使用代码(GetKeyState()函数)来判断按键的触发

 

001.jpg

 
 附件下载:http://www.dongyo.cn/bbs/forum.php?mod=viewthread&tid=3267&extra=page%3D1

 

 

附近:

转载于:https://www.cnblogs.com/mcgame/archive/2013/05/21/3090787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值