我刚开始工作,这是我第一次发帖子,所以请温柔点:-)
我正在开发一个多层次的射击游戏,我质疑我的最佳OOP设计,明确地管理子弹。
游戏通常有多个玩家和多个敌人,每个人都有一支发射子弹的枪。有子弹类很好地管理多个子弹,他们的位置,动画,渲染等,这些工作很好。
我的问题是,我是最好实例化每个敌人这些子弹类的一个实例,还是为管理所有子弹的级别实例化一个实例(不管是谁发射的)?
单个实例的好处是,可以同时为它们优化子弹管理和呈现,但是它们需要额外的状态信息,因此我们记住哪些子弹属于谁,每个敌人可以有多少颗子弹,等等,但它们不是松散耦合的。每个敌人的一个单独的实例的好处是,它更整洁,每颗子弹需要存储的状态信息更少,但是它们将被管理,并在针对每个敌人或玩家的不同调用中呈现。子弹间碰撞也会更加困难,但幸运的是,这并不是这个特殊游戏的要求。
有没有其他人写过类似的东西,你是如何构造的?在作出决定之前,我应该考虑哪些因素,是否有任何游戏设计原则?
问候尼克
发布于 2013-01-05 12:36:41
对于一般游戏结构,您可能需要阅读这。
这可能是我个人的洞察力,但我认为,一个全方位的子弹处理程序应该更加普遍。当玩家射中一颗子弹时,它会向子弹处理程序对象发送一个信号,并将子弹数减少1。子弹必须储存是哪个玩家射中的,所以你可以回顾一下哪个球员射中了哪个球员,或者增加了数据。更别提一个水平范围的子弹处理器,以后还可以用来处理手榴弹、地雷、爆炸的火药、狂暴的黄鼠狼等等。
https://stackoverflow.com/questions/14171674
复制相似问题