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);