2016-08-06 12 views
1

音楽のオン/オフを制御するImageButton(musicButton)を作成するにはどうすればよいですか?ImageButtonと環境設定

私はこれらの2つの方法

public static void setBoolean(String name, boolean val) { 
    prefs.setBoolean(name, val); 
    prefs.flush(); 
} 

public static boolean getBoolean(String name) { 
    return prefs.getBoolean(name); 
} 

を持ってGamePrefs classは、私は私がImageButtonStyleを行う必要があるが、私は多くの分野imageUpimageDownを持って知っているmusicButton

Texture t1 = new Texture("music"); 
Texture t2 = new Texture("music_off"); 
TextureRegion tr1 = new TextureRegion(t1); 
TextureRegion tr2 = new TextureRegion(t2); 

のための2枚の画像を持っています、 checkedcheckedOver ...どちらを使うべきか分かりません

と私が触れると、このような

何かオフオンまたは設定現在の音楽変化に対応するためにそれを必要とする:

GamePrefs.setBoolean("music", false)またはGamePrefs.setBoolean("music", true)

と私は音楽を再生するgetBoolean()を使用するかどうか

助けが必要ですか?ボタンのような種類を作成するための

答えて

1

私はupImageButton.ImageButtonStylechecked属性を使用:音楽のための

public Button getMusicButton() { 
    final Button button = new ImageButton(getMusicButtonStyle()); 
    button.setChecked(Prefs.isMusicOn()); 
    button.addListener(new ClickListener(){ 
     @Override 
     public void clicked(InputEvent event, float x, float y) { 
      MusicHandler.getInstance().toggleMusic(); 
     } 
    }); 
    return button; 
} 

private ImageButton.ImageButtonStyle getMusicButtonStyle() { 
    ImageButton.ImageButtonStyle style = new ImageButton.ImageButtonStyle(); 
    style.up = musicOffDrawable; 
    style.checked = musicOnDrawable; 
    return style; 
} 

を、私はこの方法でMusicHandlerクラスを持って聞こえる:

Prefsクラスの
public void toggleMusic() { 
    Prefs.toggleMusic(); 
    if (!Prefs.isMusicOn()) { 
     music.stop(); 
    } else { 
     music.play(); 
    } 
} 

そして最後にそこには:

public static boolean isMusicOn() { 
    return pref.getBoolean(MUSIC_ON); 
} 

public static void toggleMusic() { 
    pref.putBoolean("music_on", !isMusicOn()); 
    pref.flush(); 
}