cocostudio uiLayout控件设置颜色和透明度的方法


以下是我使用的时候遇到的陷阱:

Layout* layout = Layout::create();
layout->setBackGroundColor(Color3B::RED);
layout->setContentSize(Size(210,200));
_dianJi->addChild(layout);

代码编译通过,但是就是设置的颜色没起作用。

于是查阅cocos2d-x自带的例子:

// Create the layout with color render
Layout* layout = Layout::create();
layout->setBackGroundColorType(LAYOUT_COLOR_SOLID);
layout->setBackGroundColor(Color3B::RED);

layout->setSize(Size(280,150));


于是我添加了:layout->setBackGroundColorType(LAYOUT_COLOR_SOLID);

查阅了官方文档:

UILayout 显示颜色的模式有三种
| LayoutBackGroundColorType | 说明 |
|---------------------------|-------------------|
| LAYOUT_COLOR_NONE | 透明,没有颜色显示 |
| LAYOUT_COLOR_SOLID | 实体,可以设置颜色 |
| LAYOUT_COLOR_GRADIENT | 渐变颜色 |

但是仍然不起作用,最后发现是这一句的问题:layout->setContentSize(Size(210,200));
改换成和例子里面一样就ok了
layout->setSize(Size(280,150));

设置透明度开始用的是setopacity(),发现又不起作用,要用UILayout 自己的成员setBackGroundColorOpacity()才行。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...