cocos2dx中的label可點擊事件

cocos2dx中的label可點擊事件:

    Label*  agreeText = Label::create(G2U("我已經詳細閱讀並同意《咪咕遊戲許可及服務協議》"), "Arial", 16);
    this->addChild(agreeText);
    agreeText->setAnchorPoint(Vec2(0.5,0.5));
    agreeText->setPosition(Vec2(vSize.width / 2 , 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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章