6

我最近加入了 XNA 池,并且正在学习 C# 框架的所有细节。我在研究中注意到的一件事是,似乎没有被广泛接受的“正确”方式来实现 GameComponents。

在阅读了这个帖子(以及其他内容)之后,我发现游戏开发者之间存在广泛的偏好。我见过一些倡导者根本不使用 GameComponents(或只是很少使用),而另一些人则声称将它们用于所有事情,一直到玩家/敌人单位、导弹等。然后有些人采取了更温和的方法,并为中高级实体(例如屏幕、渲染器、场景等)保留 GameComponent 架构,这些实体又包含并驱动其更精细的游戏单元。

归根结底,由游戏开发者决定如何最好地实现框架。由于 StackOverflow 中挤满了精明的开发人员,他们忘记的比我所知道的还要多,所以我想先了解一下这里的共识是什么,然后再继续使用我自己使用的框架。

有人愿意插话他们的想法吗?提前致谢!

4

1 回答 1

2

我对 XNA 也很陌生,所以对这个答案持保留态度。

我认为这可以归结为一种风格偏好。我不确定使用 GameComponent 与更多手动方式之间的性能特征,但我知道,就我个人而言,我很快就对使用 GameComponent 感到沮丧,因为它并没有真正符合我的思维或编程风格。从本质上讲,我是从 OOP、过程、函数和其他编程范式中学到的东西的混合体。GameComponent 似乎使用了严格的 OOP 方法。

但我要说的是,让所有东西都成为 GameComponent,甚至是一般的类,在性能方面可能会出现问题。最大可读性和可维护性的问题似乎在游戏开发世界中处于边缘地位,有时你真的只需要从代码中挤出优化。例如,有时最好将您的游戏对象之一转换为结构(值类型),这样您就可以节省一些内存并阻止讨厌的垃圾收集器使您的游戏滞后(正如我在我问的这个问题中学到的那样)。

于 2010-02-25T22:55:48.863 回答