1.新建枚举
public enum GameState {
START,RUNNING,PAUSE,GAME_OVER
}
2.加载图片
start = ImageLoaderUtil.load(“start.png”);
pause = ImageLoaderUtil.load(“pause.png”);
gameover = ImageLoaderUtil.load(“gameover.png”);
2.绘画图片到面板上
// 画状态
GameState gameState = GameState.START;
public void paintState(Graphics g) {
switch (gameState) {
case START: // 启动状态画启动图
g.drawImage(start, 0, 0, null);
break;
case PAUSE: // 暂停状态画暂停图
g.drawImage(pause, 0, 0, null);
break;
case GAME_OVER: // 结束状态画结束图
g.drawImage(gameover, 0, 0, null);
break;
}
}
3.添加鼠标点击事件
让当前面板获得焦点
setFocusable(true);
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
switch (gameState) {
case PAUSE:
gameState = GameState.RUNNING;
bgRoll = new BgRoll();
timer.schedule(bgRoll, 0, 50);
break;
case RUNNING:
gameState = GameState.PAUSE;
bgRoll.cancel();
repaint();
break;
case START:
gameState = GameState.RUNNING;
bgRoll= new BgRoll();
timer.schedule(bgRoll, 0, 50);
break;
case GAME_OVER:
gameState = GameState.START;
break;
}
}
});