从文本文件导入对话并将其显示在drawpanel上 - Java

时间:2012-12-07 06:17:08

标签: java

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

,它会起作用
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

1 个答案:

答案 0 :(得分:-1)

您可以在JavaDocs中指向的字符串中使用转义序列\n

  

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

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

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

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