LibGdx ImageButton播放声音

时间:2016-12-23 06:25:44

标签: libgdx imagebutton

我创建了一个带有三个可绘制图像的imageButton; 一个是按钮,按钮和按钮检查。它的目的是为游戏开启和关闭声音。声音关闭,应显示已检查的图像。

我写了这样的代码:

soundButton = new ImageButton(new TextureRegionDrawable(soundTexture1),
            new TextureRegionDrawable(soundTexture2), new TextureRegionDrawable(soundTexture3));
    stage.addActor(soundButton);

    soundButton.setPosition(Constants.WORLD_WIDTH / 4 + 300f, Constants.WORLD_HEIGHT / 4, Align.bottomLeft);
soundButton.addListener(new ChangeListener(){
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if(!game.soundBool)
                game.soundBool=true;
                else
                    game.soundBool=false;
        }
    });

这里soundBool最初是假的,当它是假的时候会播放游戏声音。 一旦我说实话,声音就不应该播放。这个布尔值运行良好。

问题是,一旦我检查了按钮(声音关闭),声音就会永久关闭。按钮点击按钮没有按预期工作。

如何更改代码才能正常工作?

1 个答案:

答案 0 :(得分:0)

您是否检查了调用changed()方法的频率?使用Gdx.app.log()进行日志记录。或者尝试使用不同的监听器,例如按钮ClickedListener

您也可以让自己拥有Button class MyButton extends Button以保持更清晰的代码。 Here是我解决它的方式。