Lab

Cocos2d-x:背景色の設定(単色)

 Tag :  Published : 2013-12-13

Pocket

CCLayerColorを使用します。
レイヤーの背景色(単色)を設定します。
> Ver3.x : 『背景色の設定(単色)』はこちら

レイヤー背景色の設定

背景色が青色のレイヤーを作成します。

cocos2d-x 背景色が青色のレイヤーを作成
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    //レイヤーを作成 色:RGBA(51,75,112,255) サイズ:200*200
    CCLayerColor* layer = CCLayerColor::create(ccc4(51, 75, 112, 255), 200, 200);
    CCSize layerSize = layer->getContentSize();
    layer->setPosition(ccp((winSize.width-layerSize.width)*.5, (winSize.height-layerSize.height)*.5));
    this->addChild(layer);

画面の背景色の設定

デフォルトのHelloWorldSceneをベースにして、画面背景色を青色にしてみます。

cocos2d-x 画面の背景色の設定

HelloWorldScene.h内の、HelloWorldクラスを書きかえます。

HelloWorldScene.h

//もとは、class HelloWorld : public cocos2d::CCLayerだったはず
class HelloWorld : public cocos2d::CCLayerColor
{
public:
    virtual bool init();
    static cocos2d::CCScene* scene();
    CREATE_FUNC(HelloWorld);
};

HelloWorldScene.cpp内の、HelloWorld::initメソッドで色を指定します。

HelloWorldScene.cpp

bool HelloWorld::init()
{
    //ここで色を指定。
    if (!CCLayerColor::initWithColor(ccc4(51, 75, 112, 255))) {
        return false;
    }

    //ここから通常の処理。今回は画面中央に画像を表示
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    CCSprite* pImg = CCSprite::create("1.png");
    pImg->setPosition(ccp(winSize.width*.5, winSize.height*.5));
    this->addChild(pImg);
      
    return true;
}

pageTop