Exemplo n.º 1
0
 /**
  * Plays the current track at the given position.
  *
  * @param position the track position (in ms)
  * @param loop whether or not to loop the track
  */
 public static void playAt(final int position, final boolean loop) {
   if (trackExists()) {
     setVolume(Options.getMusicVolume() * Options.getMasterVolume());
     trackEnded = false;
     pauseTime = 0f;
     if (loop) player.loop();
     else player.play();
     if (position >= 0) player.setPosition(position / 1000f);
   }
 }
Exemplo n.º 2
0
  @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クラスに音楽管理クラスを
    // 持たせ,そこで管理するという方法もある.
  }
Exemplo n.º 3
0
 /**
  * Seeks to a position in the current track.
  *
  * @param position the new track position (in ms)
  */
 public static boolean setPosition(int position) {
   return (trackExists() && position >= 0 && player.setPosition(position / 1000f));
 }