日期:2014-05-20  浏览次数:20789 次

MIDP2.0如何让两个按键同时相应
我做的一个飞机代码中按方向键的时候如果同时按下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)一样的 努