我应该使用状态来实现应用程序的菜单和屏幕吗?

时间:2011-12-20 10:51:01

标签: flex flex4

我正在制作游戏。这次尝试实现菜单( - >教程) - >游戏 - >记分牌 - >游戏结束 屏幕。

这些屏幕本身在结构上有很大差异。所以我不确定状态是否是100%正确的方法(因为我理解状态对于类似的布局是好的)另一方面,他们中的许多人具有返回到先前状态的后退按钮,例如,在教程中我将开始游戏并返回菜单按钮等。

我想知道这样的问题是否有明确的解决方案?也许有一个专门的库来处理这种情况?

1 个答案:

答案 0 :(得分:0)

State machines(不仅仅是视觉状态)是实现封装组件行为的好方法,例如按钮或 - 在您的情况下 - 菜单项,甚至可能是您的一些游戏逻辑。可以针对每个组件单独描述它们,它们有助于保持组织的交互,从而防止出错。

但是,当您查看整个应用程序时,状态机很难维护:交互通常是多维的(即不仅涉及一个组件,而且层次结构中的许多级别处于不同级别),以及当所有不同的玩家都被考虑在内时,由此产生的状态机很快就会变得非常复杂。

根据我的经验,最好为您的应用程序逻辑使用事件驱动的方法与模型 - 视图 - 控制器体系结构相结合,并在组件级别使用状态机。我建议为此查看一些现有的模型 - 视图 - 控制器框架,最值得注意的是RobotLegsPureMVCParsley(尽管对我来说,Parsley似乎不如另外两个)。

相关问题