以下是我使用的时候遇到的陷阱:
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));
查阅了官方文档:
UILayout 显示颜色的模式有三种
| LayoutBackGroundColorType | 说明 |
|---------------------------|-------------------|
| LAYOUT_COLOR_NONE | 透明,没有颜色显示 |
| LAYOUT_COLOR_SOLID | 实体,可以设置颜色 |
| LAYOUT_COLOR_GRADIENT | 渐变颜色 |
但是仍然不起作用,最后发现是这一句的问题:
layout->setContentSize(Size(210,200));
改换成和例子里面一样就ok了
layout->setSize(Size(280,150));
layout->setSize(Size(280,150));
设置透明度开始用的是setOpacity(),发现又不起作用,要用UILayout 自己的成员setBackGroundColorOpacity()才行。