我有一個首選項的問題,我不知道有人可以幫助我嗎? 我正在使用設置屏幕和遊戲屏幕進行遊戲。兩者都需要能夠寫入相同的首選項。該代碼在設置屏幕中工作,它看起來像這樣:在Libgdx中保存兩個類的首選項
public class SettingsScreen implements Screen{
private Preferences prefs;
final Preferences prefs = Gdx.app.getPreferences("myprefs");
prefs.putFloat("volume", volume);
並在Gamescreen中出現錯誤。 Gamescreen中的代碼與設置中的代碼相同。這工作:
volume = prefs.getFloat("volume", 1);
但這並不:
prefs.putFloat("volume", volume);
我收到以下錯誤:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.mullenuh.learntoread.Screens.GameScreen$4.clicked(GameScreen.java:259)
at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89)
at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:58)
at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:353)
at com.badlogic.gdx.backends.lwjgl.LwjglInput.processEvents(LwjglInput.java:332)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:215)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
需要一些更多的代碼,這是空指針異常,但不清楚什麼是空的。 – Aryan
'volume'是一個Integer對象,你忘記了賦值? – Tenfour04