Lab

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

 Tag :  Published : 2014-1-15

Pocket

alignItemsHorizontally、alignItemsHorizontallyWithPaddingを使用します。
ボタンを複数作成して横並びにします。

ボタンを横に並べる

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->alignItemsHorizontally();
    this->addChild(pBtns);
    

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

alignItemsHorizontallyWithPaddingを使うと、ボタンの間の空きを設定する事ができます。
ここでは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->alignItemsHorizontallyWithPadding(50);
    this->addChild(pBtns);
    

pageTop