【问题标题】:libGDX: Save and load an integer for highscorelibGDX:保存和加载整数以获得高分
【发布时间】:2018-03-07 16:53:13
【问题描述】:

我搜索了保存整数的可能性,如果它大于第二个整数(高分)并加载它,如果我重新启动我的应用程序。问题是我不知道该怎么做,也没有找到我的问题的结果,在 libGDX 中,在 web 中。 (我正在开发一个 Android 应用)

感谢您的帮助! :)

【问题讨论】:

  • 您可以使用带有Preferences 的.prefs 文件。我相信你会找到很多如何使用它的例子

标签: android libgdx integer save load


【解决方案1】:

Libgdx Preferences 最适合保存/加载诸如高分之类的值。

很容易创建:

Preferences prefs = Gdx.app.getPreferences("game preferences");

例如,您的高分是整数值。 所以如果你想重写它。

    if (currentScore > highScore) {
            prefs.putInteger("highscore", highscore);
            prefs.flush();
    }

然后加载它。

  highscore = prefs.getInteger("highscore");

【讨论】:

  • 请注意,这些值是以纯文本形式存储的,任何精明的用户都可以在游戏之外编辑这些值。
  • 很抱歉,我的程序显示错误。你能给我正确位置的代码吗(在创建、渲染、更新……)?谢谢
  • 这是错误:de.firstdemo.game 的 de.firstdemo.game.states.PlayState.update(PlayState.java:303) 的线程“LWJGL 应用程序”java.lang.NullPointerException 中的异常。 states.GameStateManager.update(GameStateManager.java:30) at de.firstdemo.game.RiskyDemo.render(RiskyDemo.java:33) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)在 com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
  • @Eron 你能发布你有问题的代码吗?很抱歉我没有早点回复你。
  • 没问题。这里是: public void highScore() { if (score > highscore) { prefs.putInteger("highscore", highscore); prefs.flush();我每次都在运行这个函数,在 render()-method
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
相关资源
最近更新 更多