0

我遇到了一些问题,我试图缩短我的游戏代码,我想到了从文本文件中导入所有对话而不是将其硬编码到代码本身中的想法。但是,如果每个屏幕只有一行要显示,但有些屏幕有不止一行,它会起作用

if (screenCount==1)
   g.drawString("Hi there!", 25,515);
if (screenCount==2)
   g.drawString("Welcome to the world of Pok\u00E9mon!", 25,515);
if (screenCount==3){
   g.drawString("My name is Professor BLANK!", 25,515);
   g.drawString("Everyone calls me the Pok\u00E9mon Professor!", 25,540);
  }

正如您在屏幕一和二中看到的那样,我可以轻松地将对话放入文本文件中,如下所示:

1:Hi there!

2:Welcome to the world of Pok\u00E9mon!

但是对于第三个屏幕,我无法弄清楚如何导入它/将其写入文本文件并导入它

3:My name is Professor Shinwa!
  Everyone calls me the Pok\u00E9mon Professor!

更多信息:游戏一次只显示两条线

   g.drawString("", 25,515); //the first line x and y values
   g.drawString("", 25,540); // the second line x and y values

我有大约 37 个屏幕,大约一半或更多是两行。感谢您的帮助,非常感谢:D

4

1 回答 1

-1

您可以使用JavaDocs\n中指出的 String 中的转义序列:

此时在文本中插入换行符。

您的字符串可能如下所示:

3:My name is Professor Shinwa!\nEveryone calls me the Pok\u00E9mon Professor!

我认为更好的解决方案是将每个屏幕文本放在单独的文本文件中。然后,您可以读取该文件,直到没有剩余的行,然后将它们打印在屏幕上。文本文件应该用 命名screen#,例如 screen1, screen2 ... 所以你的代码中不需要这么多的if-blocks。只需将屏幕与您当前的屏幕编号连接并阅读此文件,完成。如果您需要与用户响应的对话怎么办?你会如何处理这个案子?

于 2012-12-07T06:23:09.900 回答