我目前正在用java编写一个游戏,并使用一个接口来处理游戏的输入/输出。我目前有一个正常工作的文本界面。我使用的代码类似于以下内容:
while (moveExists())
{
String in = interface.getInput();
processInput(in);
interface.displayOutput(this.getState);
}
纯文本界面之所以有效,是因为它会暂停等待输入,但我不确定如何在GUI实现中实现类似的行为。如何"等待"actionListener的输入?
如果没有,我可能会使用不太像游戏循环的代码,而更像有限状态机的代码,这样我就不需要处理两个不同的线程来协调它们的操作。
您可以简单地启动一个GUI(它有自己的独立线程),其中包含一个文本区域,可能还有一个按钮或类似的东西,然后在文本区域或按钮中添加一个ActionListener,然后在触发Listener时执行所需的代码(即插入了一些代码或单击了按钮)。
另一个故事,如果你还有另一个需要循环运行的"背景"线程。。。