ImageButton 和首选项
ImageButton and Preferences
如何创建一个 ImageButton
(musicButton) 来控制打开或关闭音乐?
我 GamePrefs class
有这两种方法
public static void setBoolean(String name, boolean val) {
prefs.setBoolean(name, val);
prefs.flush();
}
public static boolean getBoolean(String name) {
return prefs.getBoolean(name);
}
我有两张图片供 musicButton
Texture t1 = new Texture("music");
Texture t2 = new Texture("music_off");
TextureRegion tr1 = new TextureRegion(t1);
TextureRegion tr2 = new TextureRegion(t2);
我知道我需要制作一个 ImageButtonStyle
但我有很多字段 imageUp
、imageDown
、checked
、checkedOver
...我不知道'知道我应该使用哪两个
我需要它来响应触摸和将当前音乐设置更改为打开或关闭
像这样:
GamePrefs.setBoolean("music", false)
或 GamePrefs.setBoolean("music", true)
我会用getBoolean()
放不放音乐
有什么帮助吗?
为了创建此类按钮,我使用了具有 up
和 checked
属性的 ImageButton.ImageButtonStyle
:
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
class 使用此方法:
public void toggleMusic() {
Prefs.toggleMusic();
if (!Prefs.isMusicOn()) {
music.stop();
} else {
music.play();
}
}
最后在 Prefs
class 中有:
public static boolean isMusicOn() {
return pref.getBoolean(MUSIC_ON);
}
public static void toggleMusic() {
pref.putBoolean("music_on", !isMusicOn());
pref.flush();
}
如何创建一个 ImageButton
(musicButton) 来控制打开或关闭音乐?
我 GamePrefs class
有这两种方法
public static void setBoolean(String name, boolean val) {
prefs.setBoolean(name, val);
prefs.flush();
}
public static boolean getBoolean(String name) {
return prefs.getBoolean(name);
}
我有两张图片供 musicButton
Texture t1 = new Texture("music");
Texture t2 = new Texture("music_off");
TextureRegion tr1 = new TextureRegion(t1);
TextureRegion tr2 = new TextureRegion(t2);
我知道我需要制作一个 ImageButtonStyle
但我有很多字段 imageUp
、imageDown
、checked
、checkedOver
...我不知道'知道我应该使用哪两个
我需要它来响应触摸和将当前音乐设置更改为打开或关闭
像这样:
GamePrefs.setBoolean("music", false)
或 GamePrefs.setBoolean("music", true)
我会用getBoolean()
放不放音乐
有什么帮助吗?
为了创建此类按钮,我使用了具有 up
和 checked
属性的 ImageButton.ImageButtonStyle
:
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
class 使用此方法:
public void toggleMusic() {
Prefs.toggleMusic();
if (!Prefs.isMusicOn()) {
music.stop();
} else {
music.play();
}
}
最后在 Prefs
class 中有:
public static boolean isMusicOn() {
return pref.getBoolean(MUSIC_ON);
}
public static void toggleMusic() {
pref.putBoolean("music_on", !isMusicOn());
pref.flush();
}