【发布时间】:2014-04-24 20:13:43
【问题描述】:
我目前正在用 java 编写游戏,并且正在使用接口来处理游戏的输入/输出。我目前有一个正常工作的文本界面。我正在使用类似于以下的代码:
while (moveExists())
{
String in = interface.getInput();
processInput(in);
interface.displayOutput(this.getState);
}
纯文本界面有效,因为它暂停等待输入,但我不确定如何在 GUI 实现中完成类似的行为。我如何“等待”来自 actionListener 的输入?
如果不是,我可能会使用不太像游戏循环的代码,而更像是一个有限状态机,这样我就不需要处理两个不同的线程来协调它们的动作。
【问题讨论】:
-
"我如何'等待'来自 actionListener 的输入?" - 你不能。基本上,GUI 的工作方式是 GUI 工具包已经运行循环处理事件。为了保持响应性,必须快速处理这些事件,这意味着无需等待其中的任何内容。当提交移动的
ActionListener被触发时,只要做任何适当的事情,除非这需要很长时间。 -
@millimoose 谢谢。似乎我认为这充其量是困难的并没有错。目前,我的游戏控制界面。你认为反过来会更好吗?让 UI 控制游戏?
标签: java user-interface interface