提供一个关于游戏的小背景:掉落的物品从顶部漂浮,目标是弹/滑另一个物体击中它们。如果一个物品掉到地上,你会失去一条生命,并因击中掉落的物品而获得点数。
这就是我有点困惑的地方。在O'Reilly的iPhone游戏开发中。他们的状态是让app delegate继承一个游戏状态机对象,并在appdelegate中拥有主游戏循环。MVC没什么。
我要用mvc。我已经为模型识别了所有的对象,并将使用一个控制器来更新每个模型及其对应的视图。然后在App委托中有一个导航控制器,并从主屏幕推送某些控制器(播放、指令、统计)。然后让游戏循环运行在我的GaveVIEW控制器中。顺便说一下,我用花栗鼠作为物理引擎。
这是我的第一场比赛,所以我有点困惑。如能就如何进行,我将不胜感激。我想让面向对象的设计从一开始就跳到代码中。
最佳答案
我不认为mvc是你真正想要的。MVC可以应用到你的整个应用程序状态——即菜单的视图、游戏板的视图等。它不适合在游戏中发挥作用——至少只是考虑一下我的头顶。
看看gamedev上的这篇文章。许多有用的模式,从比这更聪明的人。
https://gamedev.stackexchange.com/questions/4157/what-are-some-programming-design-patterns-that-are-useful-in-game-development