我正在开发一款Flex游戏,这是一种桌牌游戏。考虑使用这个实体开发其他游戏,我选择创建与游戏分离的实体,甚至是其他游戏实体。因此,我目前正在使用事件进行游戏实体之间的通信。
在我的情况下,游戏实体指的是例如玩家手部件,其可以接收卡,或者通过自定义请求和交易事件将卡发送到另一个未知部件。例如,一组持卡人组件也会发生同样的情况。
这种方法在开始时似乎是一个很好的设计师,但经过一段时间后,我的游戏控制器类有很多事件处理函数,这对我来说开始变坏了。
我目前的想法是创建一个游戏事件管理器,配合我的游戏控制器来处理事件和清理控制器代码。
最后,我不确定上面提到的我的设计决定,所以我想知道你们这些游戏的通信设计是什么。
我希望这个问题的答案也可以帮助别人。 提前谢谢。
答案 0 :(得分:0)
你能把它分成几个控制器类吗?在选项卡式应用程序中,我为每个选项卡使用spearate控制器。将你的应用分解成合理的碎片不会像切割和干燥一样,但很有可能。
一个建议可能是:
MainController - 处理游戏的“shell”,例如应用程序启动,菜单,启动画面等......
GameController - 处理状态变化和基于用户的事件,如轮流,检查胜利条件,更新分数等......
EntityController - 您的游戏实体(卡片,卡片组和指针)之间的通信。
我很难用这么少关于你游戏的信息作出太多的判断,但我希望你明白这个想法。
此外,如果你想减少样板事件处理代码,我再次使用框架的想法。我听说过关于机器人腿的好消息,并亲自在一些项目上使用过Swiz。 Swiz有很好的,不引人注意的事件调解swizframework.org。