swing 判断是否同时按了多个键

swing 键盘监听事件 ,KeyListener有三种方法

keyReleased // 键按下再松开这一事件做的事情

KeyPressed// 键一直保持按下状态做的事

keyTyped//

在KeyEvent 中有判断shift等键状态的方法,却没有判断其它键状态的方法,我在做游戏的时候,如果人物按了->,向前跑的

箭头保持按下,再按发射子弹的键,

此时,跑的键处于按下状态,发射子弹的键处于按下状态,当我按下发射时,人物停止跑动,开始发射子弹,松开发射时,

人物停止发射,虽跑键一直处于按下,但不再跑动。

。。思考后,我的方法是利用 keyReleased,KeyPressed 两个方法来记录跑键的状态,

大致代码:

Boolean run=false;//初始状态

 KeyPressed{

if(e.keygetcode==跑键){ 

run=true;

}//

}

keyReleased{

if(e.keygetcode==跑键){ 

run=false;

}//只要我一松开,run的状态被改变为false,人物不再跑动,如果

跑动过程中按下发射子弹键,因为人物run为true,所以不受影响。

}

if(run==true){

跑;

}

个人心得记录,如有不对,请留言指正。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值