我做的一个飞机代码中按方向键的时候如果同时按下FIRE键发出子弹,但是一松开FIRE飞机就不动了~~
我直接些的这个~~应该怎么写啊~~
protected void keyReleased(int arg0) {
b = false;
}
线程里面控制按键的连击!!
------解决方案--------------------------------------------------------
1.继承GameCanvas,判断FIRE键
boolean pressFire()
{
return (getKeyStates()&FIRE_PRESSED)!=0;
}
判断向上的键
boolean pressUp()
{
return (getKeyStates()&UP_PRESSED)!=0;
}
其余方向键类似
如果需要同时判断2个按键,则使用
if(pressFire() && pressUp())
也可以单独判断
if(pressFire())
发子弹
if(pressUp())
向上移动
if(pressDown())
向下移动
if(pressLeft())
向左移动
....
2.利用Canvas来实现
int keyState=0;//按键状态
void keyPressed(int keyCode)
{
记录按键
}
void keyReleased(int keyCode)
{
清除按键
}
然后根据此按键的状态值 keyState来当前正在按下的键盘的情况
------解决方案--------------------------------------------------------
是松开某个按键的 方法,和 keyPressed(int keyCode)一样的 努