您好我正在尝试为我的libgdx游戏创建一个高分屏幕。我已经能够为实际的高分自己创建一个本地文件,但我不确定如何创建一个伴随高分的用户名文件。对于高分,我创建了一个带有字节数组的文件,只需按正确的顺序绘制它们。我可以将用户名称作为字符串,但我不知道如何将其保存到文件中,以便我可以轻松地对其进行排序并使用高分数显示它。我唯一能想到的是为每个前5个高分创建一个单独的首选项文件,然后根据需要显示和更改每个高分,但这似乎是浪费。无论如何我可以用前5个名字/字符串创建一个文件并将它们加载到一个数组中并从那里绘制/订购?谢谢。
Numbers.writeBytes(new byte[]{0,0,0,0,0}, false);//This is how I write a file of the top 5 highscores. An array of bytes. This is easy to order and display but I cant do this with Strings. What could I do to achieve the same with Strings/names. Thanks
答案 0 :(得分:0)
Libgdx Preferences
API提供了一个简单的高级API,用于持久存储高分等数据。它是一个简单的键+值API,因此您只需要为要跟踪的5个(或10个或其他)分数中的每个分数创建“name0”和“score0”等键。
// Assumes names is an array of String names,
// and scores is an array of integer scores.
Preferences prefs = Gdx.app.getPreferences("highscores");
for (int i = 0; i < 5; i++) {
prefs.putString("name"+i, names[i]);
prefs.putInteger("score"+i, scores[i]);
}
prefs.flush();
Preferences prefs = Gdx.app.getPreferences("highscores");
for (int i = 0; i < 5; i++) {
names[i] = prefs.getString("name"+i, null);
scores[i] = prefs.getInteger("score"+i, 0);
}