Lab

Cocos2d-x v3:ボタンの作成(テキスト)

 Tag :  Published : 2014-9-10

Pocket

MenuItemLabel、Menuを使用します。
テキストを使ったボタンを作成します。
> Ver2.x : 『ボタンの作成(テキスト)』はこちら

1. ボタンの作成(MenuItemLabel、Menu)

“Button”というテキストでボタンを作成します。
また、タップされた時にログが出るようにします。

cocos2d-xのボタンデフォルト
デフォルト

cocos2d-xのボタンタップ時
タップ時。ちょっと文字が大きくなるのですね。

    //画面サイズを取得
    Size s = Director::getInstance()->getVisibleSize();
    
    //メニューアイテムラベルの作成
    auto pLabel = Label::createWithSystemFont("Button", "Arial", 50);
    auto pBtnItem = MenuItemLabel::create(pLabel, CC_CALLBACK_1(HelloWorld::myCallback, this));
    
    //メニューの作成 pMenuの中にpBtnItemを入れる
    Menu* pMenu = Menu::create(pBtnItem, NULL);
    
    //pMenuを画面中央に配置
    pMenu->setPosition(Vec2(s.width*.5, s.height*.5));
    this->addChild(pMenu);
    

2. タップ時のコールバックを作成

myCallbackを作成します。
タップすると”ボタンが押されました”とメッセージが出るようにします。

void HelloWorld::myCallback(Ref* pSender)
{
    log("タップされました。");
}
    

3. 他の書き方

先ほどと同じ内容ですが、別の書き方です。

    //画面サイズを取得
    Size s = Director::getInstance()->getVisibleSize();
    
    //メニューアイテムラベルの作成
    auto pLabel = Label::createWithSystemFont("Button", "Arial", 50);
    auto pBtnItem = MenuItemLabel::create(
        pLabel,
        [this](Ref *pSender){
            log("タップされました。");
        }
    );

    //メニューの作成 pMenuの中にpBtnItemを入れる
    Menu* pMenu = Menu::create(pBtnItem, NULL);
    
    //pMenuを画面中央に配置
    pMenu->setPosition(Vec2(s.width*.5, s.height*.5));
    this->addChild(pMenu);
    

pageTop