我一直在使用cocos2d-x编写游戏,并遇到了更改背景颜色的问题。我在cocos2d中找到了example,但显然这仅适用于用Obj-c编写的cocos2d。基本上这个想法是使用CCLayerColor而不是CCLayer,当构造函数被触发时设置颜色。
有谁知道如何更改cocos2d-x中的背景颜色?看起来很简单,我很确定我错过了一些明显的东西。
答案 0 :(得分:32)
2.X或以下
扩展CCLayerColor
而不是CCLayer
。例如,
class CommonScene : public cocos2d::CCLayerColor
{
public:
...
}
使用以下代码初始化:
bool CommonScene::init()
{
//////////////////////////////
// 1. super init first
if( !CCLayerColor::initWithColor(ccc4(255, 255, 255, 255)) ) //RGBA
{
return false;
}
...
}
如果您想更改背景,请使用CCLayerColor
中的setColor
方法。例如,
this->setColor(ccc3(255, 255, 255));
3.0或以上
修改上面这样的代码:
头文件(.h)
class CommonScene : public cocos2d::LayerColor
源文件(.cpp)
if( !LayerColor::initWithColor(Color4B(255,255,255,255)) )
答案 1 :(得分:8)
我找到的最简单的方法不会影响性能,只需执行以下操作:
glClearColor(1.0,1.0,1.0,1.0);
Scene init()函数中的某个地方。这样您就不必更改为LayerColor,性能也不会受到影响。干杯!
答案 2 :(得分:8)
适用于Cocos2d-x v3.0
在* .h
class PlayScene : public cocos2d::LayerColor
在* .cpp
中bool PlayScene::init()
{
if ( !LayerColor::initWithColor(Color4B(255, 255, 255, 255) )) {
return false;
}
return true;
}