下面的代码显示一个可以滚动的文字:
int setText(const std::string text, int width, int height, int font, cocos2d::Color4B color = cocos2d::Color4B::WHITE) {
if(label == nullptr) {
cocos2d::Size dimensions(width - layout(Text_Font), 0);
label = cocos2d:
:createWithSystemFont(text, textFont(), font, dimensions, cocos2d::TextHAlignment::LEFT);
label->setTextColor(color);
} else label->setString(text);
if (height == -1) height = label->getContentSize().height;
if (view == nullptr) {
view = cocos2d::ui::ScrollView::create();
view->setContentSize(cocos2d::Size(width, height));
view->setInnerContainerSize(cocos2d::Size(width, label->getContentSize().height));
view->addChild(label);
addChild(view);
}
this->setContentSize(cocos2d::Size(width, height));
if(label->getContentSize().height < height) label->setPosition(cocos2d::Vec2(label->getContentSize().width/2 + layout(Text_Font)/2, height/2));
else label->setPosition(cocos2d::Vec2(label->getContentSize().width/2 + layout(Text_Font)/2, label->getContentSize().height/2));
//view->setPosition(cocos2d::Vec2::ZERO);
view->setTouchEnabled(false);
return height;
}
在cocos2d-x 3.2是正确的,但是3.3就变成附件的样子: