読者です 読者をやめる 読者になる 読者になる

cocos2d-x 画像ボタンをMenuItemImageからui::Buttonに変更する

・ボタンを追加するごとにメソッドを増やすのが必要

・1つしかボタンが無くてもMenuが必要

・ボタンを放した時にしか分からない

というMenuItemImageが凄く不便なのでui::Buttonに変えた

元のソース

MenuItemImage* button = MenuItemImage::create("btn01.png", "btn01_press.png", CC_CALLBACK_1(TestScene::btn01, this));
button->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT);
Menu* menu = Menu::create(button, NULL);
menu->setPosition(Vec2(0, 0));
this->addChild(menu);

void TestScene::btn01(Ref* pSender)
{
    //処理
}

 

ui::Buttonの記述

#include "ui/CocosGUI.h"

ui::Button * button = ui::Button::create();
button->setTouchEnabled(true);
button->loadTextures("btn01.png", "btn01_press.png", "");
button->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT);
button->addTouchEventListener([this](Ref* sender, ui::Widget::TouchEventType type) {
    if (type == ui::Widget::TouchEventType::ENDED) {
        //処理
    }
});
this->addChild(button);