天天看點

cocos2dx中的label可點選事件

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

繼續閱讀