Lab

Cocos2d-x:複数のボタンをまとめて配置(縦並び)

 Tag :  Published : 2014-1-15

Pocket

alignItemsVertically、alignItemsVerticallyWithPaddingを使用します。
ボタンを複数作成して縦並びにします。

ボタンを縦に並べる

2つのボタンを作成して、縦に並べます。

    CCSize s = CCDirector::sharedDirector()->getWinSize();
    
    //ボタンを2つ作成
    CCMenuItemImage* pBtnItem1 = CCMenuItemImage::create("1.png", "1.png", this, menu_selector(HelloWorld::myCallback));
    
    CCMenuItemImage* pBtnItem2 = CCMenuItemImage::create("2.png", "2.png", this, menu_selector(HelloWorld::myCallback));
    
    //2つのボタンを縦並びにして画面中央に配置
    CCMenu* pBtns = CCMenu::create(pBtnItem1, pBtnItem2, NULL);
    pBtns->setPosition(ccp(s.width*.5, s.height*.5));
    pBtns->alignItemsVertically();
    this->addChild(pBtns);
    

ボタン間の隙間を指定する

alignItemsVerticallyWithPaddingを使うと、ボタンの間の空きを設定する事ができます。
ここでは50に指定してみます。

    CCSize s = CCDirector::sharedDirector()->getWinSize();
    
    //ボタンを2つ作成
    CCMenuItemImage* pBtnItem1 = CCMenuItemImage::create("1.png", "1.png", this, menu_selector(HelloWorld::myCallback));
    
    CCMenuItemImage* pBtnItem2 = CCMenuItemImage::create("2.png", "2.png", this, menu_selector(HelloWorld::myCallback));
    
    //2つのボタン間の隙間を50に、縦並びにして画面中央に配置
    CCMenu* pBtns = CCMenu::create(pBtnItem1, pBtnItem2, NULL);
    pBtns->setPosition(ccp(s.width*.5, s.height*.5));
    pBtns->alignItemsVerticallyWithPadding(50);
    this->addChild(pBtns);
    

pageTop