我的团队编写了一个游戏引擎,它是基于组件的。它具有逻辑组件和可视组件。在可视化组件中,有一个名为的函数updateVisual(delta)
,所有内容都在那里绘制。
例如,让我们以世界中的物理球实体为例:
class LogicBallComponent
{
// ...
};
class VisualBallcomponent
{
sfml::Texture mBallTexture;
void updateVisual(float)
{
mBallTexture.translate(...);
GlobalDisplayManager::instance().draw(mBallTexture);
}
};
GlobalDisplayManager
返回一些创建 gl 状态等的窗口表示(sfml 中的 sf::RenderWindow)。该系统易于集成。
现在我需要使用我的引擎制作安卓游戏。我选择 cocos2d-x 用于创建窗口、渲染、字体、资源等。
还有另一种方法可以完成这项工作:
class Ball : public CLayer
{
bool Ball::init() {
CSprite* sprite = CSprite::create(...);
this->addChild(sprite, 0); // [!]
}
};
而且我不知道如何以我的方式使用它。有这种可能吗?