
求java 键盘事件问题 KeyListener
求java键盘事件问题KeyListener,关于java键盘事件,keyPressed,可不可以同时收听两个按键呢?比如:我按下方向键(上、下、左、右)的同时也按下空格...
求java 键盘事件问题 KeyListener,关于java键盘事件,keyPressed,可不可以同时收听两个按键呢?比如:我按下方向键(上、下、左、右)的同时也按下空格键等其他键,我用keyPressed来做的话,总是失败,每次只能收听一个键位,要么只收听方向键,空格键没反应,要么只收听空格键,方向键没反应。。
要同时听两个以上的按键事件,应该怎么实现?就像射击游戏那样,一直按着某键不放来发射子弹,同时又能操控方向键来改变对象的方向。应该怎么做呢?给个例子噢~~ 展开
要同时听两个以上的按键事件,应该怎么实现?就像射击游戏那样,一直按着某键不放来发射子弹,同时又能操控方向键来改变对象的方向。应该怎么做呢?给个例子噢~~ 展开
3个回答
展开全部
两位楼上的大神很牛逼 一个keyEvent的keycode还能同时等于两个值了?对二楼表示尤其佩服!
需要使用keyPressed和keyReleased两个方法,在keyPressed的时候把按键记录下来,keyReleased的时候把记录移除掉
相当于有个先后顺序 按下空格键的时候记录下来 然后再循环检查到有空格键就调用发射子弹的函数,相当于把各个键盘事件记录,在一个循环检查里面去实现同时按下的效果
也就是键盘操作和系统循环做成异步的 而不是键盘事件触发系统方法
需要使用keyPressed和keyReleased两个方法,在keyPressed的时候把按键记录下来,keyReleased的时候把记录移除掉
相当于有个先后顺序 按下空格键的时候记录下来 然后再循环检查到有空格键就调用发射子弹的函数,相当于把各个键盘事件记录,在一个循环检查里面去实现同时按下的效果
也就是键盘操作和系统循环做成异步的 而不是键盘事件触发系统方法
展开全部
用if不就行了吗
if(keyEvent.getkeycode=='你的键值'){
}else if(keyEvent.getkeycode=='你的另一个键值'){
}else{
}
if(keyEvent.getkeycode=='你的键值'){
}else if(keyEvent.getkeycode=='你的另一个键值'){
}else{
}
展开全部
用if判断
if(keyEvent.getkeycode=='你的键值'){
}
if(keyEvent.getkeycode=='你的另一个键值'){
}
不能用else if不然的话,就排除了共同有效的情况
if(keyEvent.getkeycode=='你的键值'){
}
if(keyEvent.getkeycode=='你的另一个键值'){
}
不能用else if不然的话,就排除了共同有效的情况
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询