将渲染代码与实际游戏引擎/逻辑代码分开的最佳方法是什么?把它们分开是个好主意吗?
假设我们有一个名为 Knight 的游戏对象。骑士必须在屏幕上呈现给用户才能看到。我们现在有两个选择。要么我们给 Knight 一个Render/Draw
我们可以调用的方法,要么我们创建一个渲染器类来负责渲染所有的骑士。
在将两者分开的情况下,Knight 是否应该仍然包含渲染他所需的所有信息,或者这也应该分开?
在我们创建的上一个项目中,我们决定让渲染对象所需的所有信息都存储在对象本身中,但是我们有一个单独的组件来实际读取该信息并渲染对象。该对象将包含诸如大小、旋转、缩放以及当前正在播放的动画等信息,并且基于此渲染器对象将组成屏幕。
像 XNA 这样的框架似乎认为加入对象和渲染是一个好主意,但是我们害怕被绑定到特定的渲染框架,而构建一个单独的渲染组件可以让我们在任何给定的时间更自由地更改框架。