@Override public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException { world.render(g); if (world.isGameOver()) { g.setColor(Color.black); g.setFont(font); int gameOverWidth = font.getWidth("G A M E O V E R"); g.drawString("G A M E O V E R", (ShootingGame.WIDTH - gameOverWidth) / 2, 150); } }
@Override public void enter(GameContainer container, StateBasedGame game) throws SlickException { super.enter(container, game); keyInput = new KeyInput(); world = new World(this); world.init(); // TODO: Musicクラスの利用 music.setPosition(0); music.play(); music.loop(); // ゲーム中に動的に曲を変えたい場合 // このBasicGameStateクラスが持つクラス // 今回で言えば,Battleクラスが持つWorldクラスに, // Battleクラスの参照を渡しておき, // MusicChangeメソッドなどを作成し,呼び出させるという方法がある. // 他にも,ShootingGameクラスなどのStateBasedGameクラスに音楽管理クラスを // 持たせ,そこで管理するという方法もある. }
@Override public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException { world.update(keyInput); keyInput.spaceKeyUpdate(); }