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 }

 

posted on 2015-12-07 22:32  四月厨  阅读(130)  评论(0编辑  收藏  举报