3

我目前正在开发一种 Flex 游戏,它是一种桌面和纸牌游戏。考虑使用这个实体开发其他游戏,我选择创建与游戏甚至其他游戏实体分离的实体。因此,我目前正在使用事件在我的游戏实体之间进行通信。

在我的例子中,游戏实体是指例如玩家手部组件,它可以接收卡片,或通过自定义请求和处理事件将卡片发送到另一个未知组件。例如,同样的情况也可能发生在一副卡片夹组件上。

这种方法一开始似乎是一个很好的设计器,但一段时间后,我的游戏控制器类有很多事件处理函数,这对我来说开始看起来很糟糕。

我目前的想法是创建一个与我的游戏控制器相结合的游戏事件管理器,用于处理事件和清理控制器代码。

最后,我不确定我上面公开的设计决定,所以我想知道你们这些人会为这种游戏指示哪些通信设计。

我希望这个问题的答案也可以帮助其他人。提前致谢。

4

1 回答 1

0

你能把它分成几个控制器类吗?在选项卡式应用程序中,我为每个选项卡使用一个单独的控制器。将您的应用程序分解成合理的部分不会那么简单,但很有可能。

一种建议可能是:

  • MainController - 处理游戏的“外壳”,例如应用程序启动、菜单、启动画面等...

  • GameController - 处理状态变化和基于用户的事件,例如轮流、检查获胜条件、更新分数等...

  • EntityController - 您的游戏实体(卡片、套牌和手?)之间的通信。

对你的游戏信息这么少,我很难做出太多的判断,但我希望你能明白。

此外,如果您想减少样板事件处理代码,我支持使用框架的想法。我听说过关于机器人腿的好消息,并且在几个项目中亲自使用过 Swiz。Swiz 拥有出色的、不显眼的事件中介swizframework.org

于 2011-11-13T16:15:27.893 回答