单点触摸:
auto label = LabelTTF::create("Label","Courier",30);
label->setPosition(visibleSize / 2);
this->addChild(label);
auto listener = EventListenerTouchOneByOne::create(); /*创建事件侦听*/
listener->onTouchBegan = [](Touch *touch,Event* event){ /*开始点击触发回调函数*/
if (event->getCurrentTarget()->getBoundingBox().containsPoint( /*触摸点是否在目标范围*/ touch->getLocation())){ CCLOG("OK"); } return false; /*事件是否传递 false不传递,true传递*/ }; /*在场景中注册事件*/ Director::getInstance()->getEventDispatcher()->
addEventListenerWithSceneGraphPriority(listener,label);
多点触摸:
auto listener = EventListenerTouchAllAtOnce::create();
listener->onTouchesBegan = [](std::vector<Touch*> touchs,Event* event){
CCLOG("Touchs Began!");
};
listener->onTouchesMoved = [](std::vector<Touch*> touchs,Event* event){
CCLOG("Touchs Move: %d",touchs.size());
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。