gpt4 book ai didi

c++ - cocos2d-x 中的渲染循环

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:10 25 4
gpt4 key购买 nike

我有一个为我的团队编写的游戏引擎,它是基于组件的。它有逻辑组件和可视组件。在可视组件中有一个名为 updateVisual(delta) 的函数,所有内容都在那里绘制。

例如,让我们以世界中的物理球实体为例:

class LogicBallComponent
{
// ...
};

class VisualBallcomponent
{
sfml::Texture mBallTexture;

void updateVisual(float)
{
mBallTexture.translate(...);
GlobalDisplayManager::instance().draw(mBallTexture);
}
};

GlobalDisplayManager 返回一些创建 gl-states 等的窗口表示(sf::RenderWindow in sfml)。该系统易于集成。

现在我需要使用我的引擎制作安卓游戏。我选择了 cocos2d-x 用于窗口创建、渲染、字体、资源等。

还有另一种方法可以完成这项工作:

class Ball : public CLayer
{
bool Ball::init() {
CSprite* sprite = CSprite::create(...);
this->addChild(sprite, 0); // [!]
}
};

而且我不知道如何以我的方式使用它。有这种可能吗?

最佳答案

您应该查看函数“void CCDisplayLinkDirector::mainLoop(void)”,这是 coco2d-x 渲染引擎的主循环。

coco2d-x 为周期性调用循环提供包装器。在 iOS 中,您应该检查 platform/ios 中 CCDirectorCaller.mm 的函数 startMainLoop。

关于c++ - cocos2d-x 中的渲染循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15604173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com