2016-12-23 7 views
0

3つの描画可能なイメージを持つimageButtonを作成しました。 ボタンアップ、ボタンダウン、ボタンチェックです。目的はゲームのON/OFF音です。音がOFFで、確認画像が表示されます。私はこのようなコードを書かれているLibGdx 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が最初に偽であり、それが偽のときゲームのサウンドが再生されます。 私はそれを真実にすると、サウンドは再生されません。このブール値はうまくいきます。

問題は、一度私はボタン(サウンドオフ)の音が永久的にオフになっていることを確認します.Againボタンのクリックが期待どおりに機能していません。

コードをうまく機能させるにはどうすれば変更できますか?

答えて

0

changed()メソッドの呼び出し頻度を確認しましたか?ロギングにはGdx.app.log()を使用してください。または、ボタンとしてClickedListenerのような別のリスナーを使用してみてください。

また、クリーナーコードを維持するために、独自のボタン、class MyButton extends Buttonを作成することもできます。 Here私はそれを解決する方法です。