Android一次两个键
我是android开发新手,制作了一个简单的游戏,并使用了onKeyDown(…)功能,但它一次只适用于1个键,如何一次处理2个键意味着我可以连续地向右或向左移动Android一次两个键,android,Android,我是android开发新手,制作了一个简单的游戏,并使用了onKeyDown(…)功能,但它一次只适用于1个键,如何一次处理2个键意味着我可以连续地向右或向左移动 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub switch (keyCode){ case KeyEvent.KEYCODE_DPAD_RIGHT:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch (keyCode){
case KeyEvent.KEYCODE_DPAD_RIGHT:
bottle_movx+=2;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
bottle_movx-=2;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
fire=bottle_movx;
firechk=true;
break;
}
invalidate();
return super.onKeyDown(keyCode, event);
}
编辑:也许这会有所帮助? 引述: 一种方法是跟踪自己当前按下的键。 当您获得按键事件时,将新按键添加到列表中;当您获得keyReleased事件时,请从列表中删除该密钥。 然后在游戏循环中,您可以根据键列表中的内容执行操作 编辑2:我还发现这个链接可能很有用:
请同时检查操作事件(
event.getAction()
)。这将返回KeyEvent类中定义的常量,如ACTION\u DOWN
,ACTION\u UP
等。请检查UP或DOWN操作。KeyCode一次只有一个值,因此如果按两个键,我们应该有两个值,这在开关情况下是不可能的,我也使用use if else,但仍然不起作用。每个键应该只触发一个键事件,因此每个事件应该只有一个键代码……或者?是否有其他函数()或任何其他技术来执行此操作(一次按两个键)?我不确定。为了找到答案,你可以创建一个简单的while循环,不断打印出你按下的键。然后,您可以查看在按下第一个键时第二个键事件是否成功。如果通过了,你应该没事。如果没有,也许你需要重新考虑游戏性:/也许这可以帮助你?按下时,每个键的操作都有效。我需要两把我自己选择的钥匙。如左、右和任何其他消防钥匙。