xxx.h文件:
Button* bt1;
Button* bt2;
void MyTouch1(cocos2d::Ref *pSender,Widget::TouchEventType type);
xxx.cpp文件:
auto rootNode = CSLoader::createNode("SelectServerScene.csb");
cocos2d::ui::Layout* Panel_1 = (cocos2d::ui::Layout*)rootNode->getChildByName("Panel_1");
bt1 = (Button*)Helper::seekWidgetByName(Panel_1,"Button_1");
bt2 = (Button*)Helper::seekWidgetByName(Panel_1,"Button_2");
bt1->addTouchEventListener(CC_CALLBACK_2(SelectServer::MyTouch1,this));
bt2->addTouchEventListener(CC_CALLBACK_2(SelectServer::MyTouch1,this));
bt1->setTag(1);
bt2->setTag(2);
addChild(rootNode);
//pSender谁申请事件就是谁
void SelectServer::MyTouch1(cocos2d::Ref * pSender,Widget::TouchEventType type)
{
switch (type)
{
case cocos2d::ui::Widget::TouchEventType::BEGAN:
//手指点中按钮,没有弹起
CCLOG("BEGAN");
break;
case cocos2d::ui::Widget::TouchEventType::MOVED:
//手指点中按钮,在上面滑动。
CCLOG("MOVED");
break;
case cocos2d::ui::Widget::TouchEventType::ENDED:
//手指点中按钮,松开。
CCLOG("ENDED");
if (((ImageView*)pSender)->getTag() == 1) {
CCLOG("backButton");
}
if (((ImageView*)pSender)->getTag() == 2) {
CCLOG("okButton");
}
break;
case cocos2d::ui::Widget::TouchEventType::CANCELED:
//手指点中按钮,手指滑动到按钮之外,然后再松开。
CCLOG("CANCELED");
break;
default:
break;
}
}