cocos2d-x-3.x 单点反馈(2)判断触摸目标
额,接着上一节的说,上一节是全屏幕点击有反馈,这个是加一个判断机制,只在目标出点击才会反馈。
1 bool HelloWorld::init() 2 { 3 if ( !Layer::init()) 4 { 5 return false; 6 } 7 Size size = Director::getInstance()->getVisibleSize(); //获取有效长度 8 auto label = LabelTTF::create("Click me", "Courier", 30); //输入文字 9 label->setPosition(size.width / 2, size.height / 2); //中央 10 addChild(label); //加入图层 11 auto listener = EventListenerTouchOneByOne::create(); //创建事件监听器,C++11的特性 12 listener->onTouchBegan = [](Touch *t, Event *e){ //捕获变量 13 14 if (e->getCurrentTarget()->getBoundingBox().containsPoint(t->getLocation())){//获取事件目标,获取边界区域,获取触摸点 15 log("onTouchBegan"); //反馈输出 16 } 17 return false; 18 }; 19 Director::getInstance()->getEventDispatcher()-> 20 addEventListenerWithSceneGraphPriority(listener, label); 21 return true; 22 }