【发布时间】:2015-04-26 22:49:49
【问题描述】:
我正在尝试让 ProgressTimer 与 Sprite 一起工作,而 Label 小时候有 Label。似乎只有 Sprite 并且没有它的孩子被用作进度条的精灵。
我已经创建了标签,并将其添加到精灵中。我将精灵添加到ProgressTimer 和场景中,因为我想确保它看起来不错。从场景中移除标签并仅将其提供给ProgressTimer 似乎并没有什么不同。
然后我使用Sprite 创建ProgressTimer,对其进行配置,然后将其添加到我的场景中。
我曾短暂研究过使用 RenderTexture 创建纹理并将其传递到 Sprite 并从那里开始工作,但没有看到更模糊的颠倒 mysprite.png。
如何让Sprite 中的Label 显示在我的场景中的ProgressTimer 上?
//init label
Label* lbl = Label::createWithTTF("My label", "fonts/Marker Felt.ttf", 24);
lbl->setTextColor(Color4B::RED);
//init sprite
Sprite* sprite = Sprite::create("mysprite.png");
sprite->addChild(lbl);
scene->addChild(sprite); //make sure it works normally
auto progress_timer = ProgressTimer::create(sprite);
progress_timer->setScale(1.5);
progress_timer->setPercentage(100);
scene->addChild(progress_timer);
【问题讨论】:
-
查看 cocos 源码,进度计时器似乎直接从 sprite 获取纹理。然后必须手动创建纹理。
标签: c++ cocos2d-x cocos2d-x-3.0