这个button的监听方式和sprite不一样。判断监听类型的时候也被折磨了一下。
闲话少说,直接上代码。一目了然
auto btn_start = static_cast<ui::Button*>(rootPanel->getChildByName("btn_start"));
btn_start->addTouchEventListener(CC_CALLBACK_2(HelloWorld::startBack, this));然后是回调方法
void HelloWorld::startBack(Ref* pSender, cocos2d::ui::Widget::TouchEventType type)
{
switch (type)
{
case cocos2d::ui::Widget::TouchEventType::BEGAN:
break;
case cocos2d::ui::Widget::TouchEventType::MOVED:
break;
case cocos2d::ui::Widget::TouchEventType::ENDED:
CCLOG("click start end button");
break;
case cocos2d::ui::Widget::TouchEventType::CANCELED:
break;
default:
break;
}
}网上有的说是ui::TouchEventType。可是总是报错。后来找了一圈,才发现原来是
cocos2d::ui::Widget::TouchEventType
本文介绍如何在Cocos2d-x中为按钮添加触摸监听事件,包括使用静态类型转换获取按钮对象,并通过添加触摸事件监听器实现不同触摸阶段的响应处理。
856

被折叠的 条评论
为什么被折叠?



