setPosition(winSi-6ren">
gpt4 book ai didi

ios - Cocos2d-x 3.17 : Best way to make loading/progress bar

转载 作者:行者123 更新时间:2023-11-28 23:51:20 26 4
gpt4 key购买 nike

//类型 1

auto loadingbar = ui::LoadingBar::create("loadingbar.png");
loadingbar->setPosition(winSize/2);
loadingbar->setPercent(0);
this->addChild(loadingbar);
this->schedule([=](float delta){
float percent = loadingbar->getPercent();
percent++;
loadingbar->setPercent(percent);
if (percent>=100.0f) {
this->unschedule("updateLoadingBar");
}
}, 0.1f, "updateLoadingBar");

//类型 2

auto timerBG = Sprite::create("loadingbar.png");
auto loadingBar = ProgressTimer::create(timerBG);
loadingBar->setPosition(winSize/2);
loadingBar->setType( ProgressTimerType::BAR );
loadingBar->setAnchorPoint( Vec2( 0.0, 0.0 ) );
loadingBar->setBarChangeRate( Vec2( 1,0 ) );
loadingBar->setMidpoint( Vec2( 0.0, 0.0 ) );
loadingBar->setPercentage( 34 );
this->addChild( loadingBar, 2);

auto prog = ProgressFromTo::create(2.0, 20, 100);

loadingBar->runAction(prog);

在以上 2 种方法中,哪种方法是提高加载进度的最佳方法?

最佳答案

我检查了 UI LoadingBar 类的原始源代码,它有一些有趣的方法,您可以立即使用:

您可以创建具有不同纹理、文本的栏并设置百分比:

LoadingBar* LoadingBar::create(const std::string &textureName, float percentage)

您可以更改栏的方向,如果您决定在实现加载场景后更改其设计,这会很有用:

void LoadingBar::setDirection(cocos2d::ui::LoadingBar::Direction direction)

您可以即时替换纹理,假设您想像某些游戏一样随着加载进度更改图像:

void LoadingBar::loadTexture(SpriteFrame* spriteframe)

此外,它继承自 UI Widget,它像所有 UI 元素一样将为您处理诸如缩放之类的事情。

不过,就性能而言,我认为这对于加载栏来说没有太大区别,因此如果您只想要一个非常简单的加载栏,则可以使用第二个选项,尽管灵 active 较差。

关于ios - Cocos2d-x 3.17 : Best way to make loading/progress bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51989101/

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