cocos2dx中的label可点击事件:
Label* agreeText = Label::create(G2U("我已经详细阅读并同意《咪咕游戏许可及服务协议》"), "Arial", );
this->addChild(agreeText);
agreeText->setAnchorPoint(Vec2(,));
agreeText->setPosition(Vec2(vSize.width / , btnPlay->getPositionY() ));
auto listenter = EventListenerTouchOneByOne::create();
listenter->setSwallowTouches(true); //设置吞没事件
listenter->onTouchBegan = [=](Touch* t, Event * e) {
return true;
};
listenter->onTouchEnded = [agreeText](Touch* t, Event * e) {
if (agreeText->getBoundingBox().containsPoint(t->getLocation())) {
// 此处 e 事件即为MHHealthAdvice类的this对象,需要转换一下调用
auto target = static_cast<MHHealthAdvice*>(e->getCurrentTarget());
target->openProtocel();
}
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listenter, this);