(LibGdx)无法控制声音?

时间:2014-08-02 20:27:08

标签: java libgdx

按下某个键时我无法停止音乐。我不知道为什么,但是当我调用.pause()。stop()和.dispose()时,根本没有任何事情发生。

if (Gdx.input.isKeyPressed(Keys.A)) {
      Theme.pause;
      Theme.dispose;
      //This is what's not working, in the update() it constantly checks if "A " is pressed
        main.setScreen(main.otherScreen);   
    } //this if statement is called in my  update method. Every thing but stoping the music works

1 个答案:

答案 0 :(得分:0)

您不应该在更新方法中调用此方法,因为每次调用更新时,它都会尝试暂停您的主题音乐并尝试处理它会产生异常或不需要的行为。

更好的方法是使用来自EventListener接口的此方法,或者可以扩展InputAdapter类。 Stage扩展了InputAdapter类,因此您可以使用stage覆盖它。

    @Override
    public void keyUp(int keycode) {
        if (keycode == Keys.A) {
            //if it is looping
            Theme.setLooping(false);
            Theme.stop();
            Theme.dispose();
        }
    }