Lab

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

 Tag :  Published : 2014-1-15

Pocket

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

1. ボタンの作成(CCMenuItemLabel、CCMenu)

“BUTTON”というテキストでボタンを作成します。

以下はHelloWorldクラスを利用した例です。

HelloWorldScene.h

class HelloWorld : public cocos2d::CCLayer
{
public:
    virtual bool init();  
    static cocos2d::CCScene* scene();
    CREATE_FUNC(HelloWorld);
private:
    //コールバック用関数myCallbackの準備
    void myCallback(CCObject* pSender);
};
    
HelloWorldScene.cpp

bool HelloWorld::init()
{
    if(!CCLayer::init())return false;
    
    //画面サイズを取得
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    //メニューアイテムの作成
    CCLabelTTF* pLabel = CCLabelTTF::create("BUTTON", "Arial", 50);
    CCMenuItemLabel *pBtnItem = CCMenuItemLabel::create(pLabel, this, menu_selector(HelloWorld::myCallback));
    
    //メニューの作成 pBtnの中にpBtnItemを入れる
    CCMenu* pBtn = CCMenu::create(pBtnItem, NULL);
    
    //pBtnを画面中央に配置
    pBtn->setPosition(ccp(winSize.width*.5, winSize.height*.5));
    this->addChild(pBtn);

    return true;
}
    

まだmyCallbackを用意していないので、この時点ではエラーが出ます。

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

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

HelloWorldScene.cpp

void HelloWorld::myCallback(CCObject* pSender)
{
    CCLog("ボタンが押されました");
}
    

pageTop