c语言 键盘长按

[复制链接]
查看11 | 回复2 | 2010-7-27 06:01:29 | 显示全部楼层 |阅读模式
在一个小游戏中,需要用W,A,S,D控制游戏角色的移动,按一下就走一点,长按的话就一值走。但是如果长按的话,角色会先走一步,再停顿一下,然后在一值走。
提问:如何编写代码使键盘长按时游戏角色一直走不停顿。这个貌似关系到字符重复的问题。(控制面板——键盘)
我用的是TC,获取键盘的函数用的是BIOSKEY()
不是这个意思……例如长按“A”,角色会向左走一步,停顿一下,然后在一直向左走,这是原本的。
现在我想让长安“A”,角色一直往左走不停顿,这是我想要的。
简单来说就是在输入文本时,长按A它会先出现一个A,停顿,然后再连续地出现A。
我不想这样。
我就想改成长按A,它会连续地出现A不停顿,当然得用C语言。

回复

使用道具 举报

千问 | 2010-7-27 06:01:29 | 显示全部楼层
根据你的提问,应该是在程序设计时,你的角色运行步骤是会先走一步,再停顿一下然后再读键盘,再走一步,再停顿一下。修改你的角色运行步骤: 1、 获取键盘,并得到键盘点击时间; 2、 角色走一步 3、 if (本次点击时间 与上次点击时间 之间的 距离 > 规定的时间间隔)
{ 角色停顿 } 4、 将本次点击时间赋值给上次点击时间变量 5、 goto 1
回复

使用道具 举报

千问 | 2010-7-27 06:01:29 | 显示全部楼层
#include#includevoid main() { int i,len; char num[88]; printf("\nEnter a long int number(longth<=81):"); gets(num); len=strlen(num);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行