Cocos2d-x 如何修改子级的透明度

使用的是Cocos2d-x 3.3的关于透明度的问题。以下问题都是可以正常设置setOpacity()的值

使用Cocos2d-x 如果修改了父级的透明度。发现子级调用setOpacity()的值要是比父级的opacity大是无效的

致使无法设置比父级大的透明度。

通过不过查看源码得出的结果是会根据一个父级的透明度去计算这个opacity的值。

void Node::updateCascadeOpacity()

{

GLubyte parentOpacity = 255;

if (_parent != nullptr && _parent->isCascadeOpacityEnabled())

{

parentOpacity = _parent->getDisplayedOpacity();

}

updateDisplayedOpacity(parentOpacity);

}

所以就导致了我设置比他大的就会无效。不过我们可以通过disableCascadeOpacity和updateDisplayedOpacity来修改达到可以设置比父级大的opacity。

我发现一个问题就是调用disableCascadeOpacity()的时候会比之前要亮。我查了我的代码和美术编辑的美术资源opacity的值都是100% 这是一个很奇怪的问题。如果有人知道原理请告知。

所以我会使用updateDisplayedOpacity(202)来设置一个值。来达到跟之前的透明度差不多一样的值。大家又更好的。请留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,792评论 1 92
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,228评论 0 8
  • 人如果没有遭遇失败 总是会死性不改
    聊逍遥兮容与阅读 63评论 0 0
  • 每日推荐: 每日一歌――萧煌奇《过我的生活》 每日一诗――杜牧《题乌江亭》 胜败兵家事不期 包羞忍耻是男儿 江东子...
    萨拉芯雪阅读 159评论 0 1