【问题标题】:Java | Save Game data in file/ Load it爪哇 |将游戏数据保存在文件中/加载它
【发布时间】:2016-05-28 03:06:22
【问题描述】:

我正在尝试用 Libgdx/Java 开发一个小游戏 :) 但是在我实现保存系统之前,我有一些关于它的问题:

我经常看到,不,我总是看到游戏将游戏变量存储在文件中。 而且我已经知道如何将我的数据保存到一个 xml 文件中......看起来是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<Word>Hello</Word>

但这有效吗?还是有更好的方法将数据保存在文件中?将数据存储在文件中是否值得? 另一个小问题是,我如何从上面的文件中加载这些东西?例如,如果我想将单词“Hello”加载到字符串中……我该怎么做?

我发现了一些有趣的帖子,但它们没有用,也许它们已经过时了:/

这里有一个:Java: How to read and write xml files?

【问题讨论】:

  • 不要使用 DOM,因为如果源 xml 很大,构建树结构会占用太多内存,请查看此处以获取更有效的方法:stackoverflow.com/questions/373833/…
  • 好的,谢谢 :) XStream 呢?我认为用它创建 xml 文件很容易......但你不能加载数据
  • 对于流式阅读,您可以使用woodstox,这是一个stax 解析器,并且具有相当数量的效率配置,是的,这些是自动序列化/反序列化库更容易和更高效地使用,到目前为止正如我在谷歌上搜索的那样,xstream 确实有加载工具tomaszdziurko.pl/2013/04/…,我还建议使用xstream 或任何其他库,例如gson,并将底层源作为jsonjson 是轻量级的wrt xmlstackoverflow.com/questions/12346349/…
  • 您实际上可以 load data from XStream(请参阅从 XML 中反序列化对象部分)

标签: java database save load


【解决方案1】:

您可以使用首选项:

    Preferences prefs = Gdx.app.getPreferences("My Preferences");
    prefs.putString("name", "Donald Duck");
    String name = prefs.getString("name", "No name stored");

    prefs.putBoolean("soundOn", true);
    prefs.putInteger("highscore", 10);

在这里找到它:https://github.com/libgdx/libgdx/wiki/Preferences

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多