keyDown(Event evt,int key)这个方法从jdk1.1以后都被processKeyEvent(KeyEvent)取代了
所以你的
public boolean keyDown(Event e,int key){………………}应该修改为:
public void processKeyEvent(KeyEvent key)
{ switch(currentmode)
{
case READY :
{ if(key.getKeyCode() == 's' || key.getKeyCode() =='S')
currentmode=GAMING;
break;
}
case PAUSE :
{ if(key.getKeyCode() == 'p' || key.getKeyCode() =='P')
currentmode=GAMING;
break;
}
case OVER :
{currentmode = READY; // °´ÈÎÒâ¼ü×¼±¸ÓÎÏ·
break;
}
case GAMING :
{ if(key.getKeyCode() == 'p' || key.getKeyCode() == 'P') currentmode = PAUSE;
if(key.getKeyCode() == 'r' || key.getKeyCode() == 'R') currentmode = READY;
if(key.getKeyCode() == Event.LEFT&&Gun>=10)Gun-=5;
if(key.getKeyCode() == Event.RIGHT&&Gun<=(10+getSize().width))Gun+=5;
if(key.getKeyCode() == Event.UP)
{ }
if(key.getKeyCode() == Event.DOWN)
if(key.getKeyCode() =='f'||key.getKeyCode()=='F')
{
bullet[BUNUM-1][0]=Gun;
bullet[BUNUM-1][1]=800;
BUNUM++;
if(BUNUM>50)
BUNUM=0;
}
break;
}
}
}
所以你的
public boolean keyDown(Event e,int key){………………}应该修改为:
public void processKeyEvent(KeyEvent key)
{ switch(currentmode)
{
case READY :
{ if(key.getKeyCode() == 's' || key.getKeyCode() =='S')
currentmode=GAMING;
break;
}
case PAUSE :
{ if(key.getKeyCode() == 'p' || key.getKeyCode() =='P')
currentmode=GAMING;
break;
}
case OVER :
{currentmode = READY; // °´ÈÎÒâ¼ü×¼±¸ÓÎÏ·
break;
}
case GAMING :
{ if(key.getKeyCode() == 'p' || key.getKeyCode() == 'P') currentmode = PAUSE;
if(key.getKeyCode() == 'r' || key.getKeyCode() == 'R') currentmode = READY;
if(key.getKeyCode() == Event.LEFT&&Gun>=10)Gun-=5;
if(key.getKeyCode() == Event.RIGHT&&Gun<=(10+getSize().width))Gun+=5;
if(key.getKeyCode() == Event.UP)
{ }
if(key.getKeyCode() == Event.DOWN)
if(key.getKeyCode() =='f'||key.getKeyCode()=='F')
{
bullet[BUNUM-1][0]=Gun;
bullet[BUNUM-1][1]=800;
BUNUM++;
if(BUNUM>50)
BUNUM=0;
}
break;
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货