我正在使用XNA为Windows 7 Phone开发基于2D Sprite的游戏。提供的培训和教程非常有帮助,但是我面临的问题是,他们每个人对类设计的处理方式都不相同,并且代码的结构也不太好。结果,我很难很好地理解我应该对特定班级承担的责任。
例如,我可以有一个基本的Sprite类BaseSprite
,它知道如何绘制自身,检查碰撞等。然后,我可以拥有一个AnimatedSprite
类,该类将知道如何导航其Sprite表,一个ExplodingSprite
类,等等。Windows 7 Phone Jumpstart会话2资料中的Space Invaders示例演示了此技术。
或者,我可以将大部分渲染和运行游戏职责放在一个GameScreen
类中;就其职责而言,该类及其派生类的行为更像表单或网页。Sprite类是更简单的容器,逻辑更少。
这是Windows 7 Phone Training Kit的Alien Sprite游戏和其他游戏状态管理器示例中使用的技术。
游戏开发中类设计的正确的面向对象方法是什么?