【发布时间】:2016-01-18 15:55:36
【问题描述】:
我正在尝试使用 JavaFX 创建一个简单的游戏。游戏由主游戏和子游戏组成,玩家可能必须玩这些游戏,这取决于主游戏的结果。最后,主游戏必须根据子游戏的结果更新其状态(例如:得分)。
我对我如何实现游戏逻辑做了一个简化和概括的版本:
Result play(Player p) {
Result r = p.play(this);
for(SubGame game : r.getSubGames())
{
p.play(game);
}
update(r);
return r;
}
该游戏在终端中完美运行,因为它具有线性执行。 但是使用JavaFX(在播放器中实现),由于游戏循环,我无法正确控制程序的流程。
我已按照this 教程处理主游戏和子游戏的多个屏幕。 Player 类可以使用处理程序成功地将屏幕更改为子游戏。但更新不再等待子游戏播放完毕,该函数在玩家游戏中途返回。
我试图将游戏逻辑与 UI 分开,因此对上面显示的代码的更改不应依赖于界面框架。
有什么帮助吗?
【问题讨论】: