过去一个小时,我一直在想如何在Processing中读取和写入.txt文件,以便在游戏中保存高分。
我的.txt文件如下:
High Score:
0
当前我的代码如下:
void setup() {
int score;
String[] saveHighScore = loadStrings("highScore.txt");
highScore = int(saveHighScore[1]);
}
然后在当前得分大于之前的高得分时降低代码的大小:
highScore = score;
String[] saveHighScore = {"High Score: ", str(highScore)};
saveStrings(dataFile("highScore.txt"), saveHighScore);
这些代码段是我从各种论坛或官方的Processing网站上获得的,没有任何更新。这是我在游戏中想要的一个小功能。
答案 0 :(得分:0)
我能为您提供的最佳建议是break your problem down into smaller steps,一次执行一个步骤。
例如,您可以创建一个简单的草图来测试将一些数据保存到文件中吗?查看the reference以获得大量有用的功能。您可能需要使用saveStrings()
函数。该参考文献包含一个示例:
String words = "apple bear cat dog";
String[] list = split(words, ' ');
// Writes the strings to a file, each on a separate line
saveStrings("nouns.txt", list);
在继续之前,使此功能正常运行。试着准确地理解这段代码在做什么,而不是将其粘贴粘贴并希望达到最佳效果。
在工作之后,请尝试加载该数据。同样,参考文献是您最好的朋友。这是一些使用loadStrings()
函数的示例代码:
String[] lines = loadStrings("list.txt");
println("there are " + lines.length + " lines");
for (int i = 0 ; i < lines.length; i++) {
println(lines[i]);
}
在继续之前,使此功能正常运行。试着准确了解它在做什么。
在您完成了两个简单的草图的工作之后,您可以开始考虑将它们放在一起。再次,从简单开始!在您了解游戏的运作方式之前,请勿尝试将其集成到完整游戏中。您能创建一个更简单的草图,将单个字符串加载到内存中,并在用户键入时添加到该字符串吗?