Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 3562|回复: 2

新人求助,关于键盘管理的问题

[复制链接]

该用户从未签到

发表于 2011-4-9 20:48:53 | 显示全部楼层 |阅读模式
大家好!
我跟同学在做一个lazarus(跟delphi差不多的)的projet,
做弹球游戏,两人对战。

一个人用w,s控制上下,另一个人用i,k控制
form那里用了一个stringgrid
用的event是 on key press

但是问题来了,当第一个人‘按住’W键不松控制他的板子一直往上移动的时候,当另一个人按下了键盘的另一个键,那么前一个人的板子就不会继续移动
想了一下,这是键盘设置的问题
比如说大家先按下A键不松,然后再按下K键不松,那么就会出现“aaaaaaaaaaaaaaa(这里按下了K键)kkkkkkkkkkkkkk”

但是到时候游戏做好了之后,不可能同一时间内只有一个人按键另一个人不动。。
所以现在就卡住了,不知道怎么办。。

问题有点长,多谢大家的帮助啦呵呵
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-4-9 20:49:57 | 显示全部楼层
额还有个关系不太大的小问题。。
当我用OnKeyDown事件的时候,key的type是 word
不知道怎么word是怎么定义的。。
比如说假如我用OnKeyPress,那么我直接定义key:=‘S’就好了,
但是用的是OnKeyDown就不知道怎么定义了。。

谢谢啦!!
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-4-15 22:51:32 | 显示全部楼层
搞定了
加了几个boolean,比如说按下了w就让这个boolean等于true,然后只要这个boolean=true就让板子一直往上动,然后加一个onkeyup,一松开w就让boolean等于false就好了
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-3 10:48 , Processed in 0.031486 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表