加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[寒江孤叶丶的Cocos2d-x之旅_19]Cocos2d-x 3.0 rc2 版本 Label

发布时间:2020-12-14 19:43:33 所属栏目:百科 来源:网络整理
导读:原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 一些公司现有项目还是用3.0 Rc2版本进行开发,并未升级到更高版本。一个朋友在开发过程中遇到Label通过setOpacity 方法设置透明度时

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]

博客地址:http://blog.csdn.net/qq446569365

一些公司现有项目还是用3.0 Rc2版本进行开发,并未升级到更高版本。一个朋友在开发过程中遇到Label通过setOpacity 方法设置透明度时候没有效果的问题。虽然现在很少有人用3.0版本,但是依然发一个博客吧……万一有人遇到了呢。

解决方法很简单:

在Label的createSpriteWithFontDefinition()函数最后添加一行代码:

_textSprite->updateDisplayedOpacity(_displayedOpacity);


如下:

void Label::createSpriteWithFontDefinition()
{
    _currentLabelType = LabelType::STRING_TEXTURE;

    auto texture = new Texture2D;
    texture->initWithString(_originalUTF8String.c_str(),_fontDefinition);

    _textSprite = Sprite::createWithTexture(texture);
    _textSprite->setAnchorPoint(Point::ANCHOR_BOTTOM_LEFT);
    this->setContentSize(_textSprite->getContentSize());
    texture->release();
    if (_blendFuncDirty)
    {
        _textSprite->setBlendFunc(_blendFunc);
    }

    Node::addChild(_textSprite,Node::INVALID_TAG);

    _textSprite->updateDisplayedColor(_displayedColor);
    _textSprite->updateDisplayedOpacity(_displayedOpacity); //这行
}<span style="font-size:18px;">
</span>
感谢:http://discuss.cocos2d-x.org/t/cocos2dx-3-0-rc2-label-opacity-not-working-when-not-create--textsprite/13204

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读