How correctly save game progress via libGDX Preferences on Android devices?(如何在 Android 设备上通过 libGDX Preferences 正确保存游戏进度?)
本文介绍了如何在 Android 设备上通过 libGDX Preferences 正确保存游戏进度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用下一个代码.此代码在桌面版本上运行良好,但在 Android 设备上却不行.返回 Gdx.app.getPreferences(PREFS_NAME) 始终为空.为什么?哪里会出错?
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences;
public class BeatlesPreferences {
// constants
private static final String PREF_VIBRO = "vibro";
private static final String PREF_MUSIC_ENABLED = "musicenabled";
private static final String PREF_SOUND_ENABLED = "soundenabled";
private static final String PREFS_NAME = "my_app";
public BeatlesPreferences() {
}
protected Preferences getPrefs() {
return Gdx.app.getPreferences(PREFS_NAME);
}
public boolean isSoundEffectsEnabled() {
return getPrefs().getBoolean(PREF_SOUND_ENABLED, true);
}
public void setSoundEffectsEnabled(boolean soundEffectsEnabled) {
getPrefs().putBoolean(PREF_SOUND_ENABLED, soundEffectsEnabled);
getPrefs().flush();
}
public boolean isMusicEnabled() {
return getPrefs().getBoolean(PREF_MUSIC_ENABLED, true);
}
public void setMusicEnabled(boolean musicEnabled) {
getPrefs().putBoolean(PREF_MUSIC_ENABLED, musicEnabled);
getPrefs().flush();
}
public boolean isVibroEnabled() {
return getPrefs().getBoolean(PREF_VIBRO, true);
}
public void setVibroEnabled(boolean vibro) {
getPrefs().putBoolean(PREF_VIBRO, vibro);
getPrefs().flush();
}
}
推荐答案
这样使用:
private Preferences preferences;
protected Preferences getPrefs() {
if(preferences==null){
preferences = Gdx.app.getPreferences(PREFS_NAME);
}
return preferences;
}
这篇关于如何在 Android 设备上通过 libGDX Preferences 正确保存游戏进度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在 Android 设备上通过 libGDX Preferences 正确保存
基础教程推荐
猜你喜欢
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- Java Swing计时器未清除 2022-01-01
