对自己坦克死亡的处理
1.改变游戏状态
private void die()
{
if(isEnemy)
{
TankPool.theReturn((EnemyTank) this);
}
else {
GameFrame.setGameState(Constant.STATE_OVER);
}
}
public boolean isDie()
{
return hp<=0;
}
2.绘制游戏结束状态下的界面
//第一次用的时候加载,而不是类加载时加载
private Image overImg = null;
private void drawOver(Graphics g) {
//保证只加载一次
if(overImg == null){
overImg = MyUtil.createImage("res/over.jpg");
}
g.setColor(Color.BLACK);
g.fillRect(0,0,FRAME_WIDTH,FRAME_HEIGHT);
//居中显示
int imgW = overImg.getWidth(null);
int imgH = overImg.getHeight(null);
g.drawImage(overImg,FRAME_WIDTH - imgW >>1,FRAME_HEIGHT- imgH >>1,null);
g.setColor(Color.WHITE);
g.drawString(OVER_STR0,10,FRAME_HEIGHT - 20);
g.drawString(OVER_STR1,FRAME_WIDTH - 200,FRAME_HEIGHT - 20);
}
3.按键事件处理
private void KeyEventOver(int keyCode) {
if(keyCode==KeyEvent.VK_ESCAPE)
System.exit(0);
else if(keyCode== KeyEvent.VK_ENTER)
setGameState(STATE_MENU);
}