我是stackover的新手,这是我第一次发帖,所以请温柔:-)
我正在开发一个多层次的射击游戏,并且我正在质疑针对我的目的最好的 OOP 设计,明确地管理子弹。
一般来说,游戏有多个玩家和多个敌人,每个人都有一把可以发射子弹的枪。有一些子弹类可以很好地管理多个子弹,它们的位置、动画、渲染等,这些都可以正常工作。
我的问题是,我是最好为每个敌人实例化这些子弹类的实例,还是最好为管理所有子弹的关卡实例化一个实例(不管是谁发射的)?
单个实例的好处是子弹管理和渲染可以同时针对它们进行优化,但是它们需要额外的状态信息,以便我们记住哪些子弹属于谁,每个敌人可以存在多少子弹等,并且没有那么松散耦合。每个敌人一个单独的实例的好处是它更整洁,每个子弹需要存储的状态信息更少,但是它们将在每个敌人或玩家的单独调用中进行管理和渲染。子弹间的碰撞也将被证明更加困难,但幸运的是这不是这个特定游戏的要求。
有没有其他人写过类似的东西,你是如何构建它的?在决定之前我应该考虑哪些因素,是否有任何游戏设计原则?
问候尼克