我决定使用我自己的简单引擎来制作我的下一个游戏。我已经为对象渲染、物理等编写了一些代码,现在我正在考虑如何轻松地将它们连接在一起。
我想用一个主对象创建层次结构,我们称之为场景,它的父对象为 Sprites 或 InteractiveObjects,每个 Sprite 或 InteractiveObject 都可以有自己的子对象,而子对象也可以有自己的子对象。我想你已经明白了我的意思: )
让我们假设,每个对象类型都将继承自某个基础对象,例如,我们称它为 Node。我还不确定,如果 Node 将是“真实”的对象,它将具有它的大小、位置等,或者只是游戏中每个对象的抽象包装器(实际上我倾向于选择第二个)。
最后。我的目标是,拥有实际场景的对象,调用像 Scene->Move(x,y) 这样的东西,它会移动场景的每个孩子(或 Sprite、InteractiveObject 等)。或 Scene->Render() 它将渲染每个(可渲染的)孩子。如果我创建 Sprite,我想添加像 Sprite->addChild() 这样的子元素,并且子元素可以是另一个 Sprite、InteractiveObject 或只是简单的节点。
现在我的问题。用 C++ 实现它的最佳方法是什么?还是我完全错了,这种结构很愚蠢?:)