cocos2d::ui::Button
Instead of cocos2d::MenuItemSprite , you can use cocos2d::ui::Button when you need to specify an action/event other than the button press released.
#include "cocosGUI.h"
USING_NS_CC;
auto size= Director::getInstance()->getVisibleSize();
auto button= ui::Button::create("normal.png", "selected.png", "", ui::Widget::TextureResType::PLIST);
button->setPosition(size/2);
this->addChild(button);
button->addTouchEventListener([](Ref* sender, ui::Widget::TouchEventType type) {
switch (type)
{
ui::Widget::TouchEventType::BEGAN:
CCLOG("touch began");
break;
ui::Widget::TouchEventType::MOVED:
CCLOG("touch moved");
break;
ui::Widget::TouchEventType::ENDED:
CCLOG("touch ended");
break;
default:
break;
}
});
If the you want to use cached sprite frames, you have to specify the 4th argument as cocos2d::ui::Widget::TextureResType::PLIST .
The default value is cocos2d::ui::Widget::TextureResType::LOCAL .