auto dispatcher= Director::getInstance()->getEventDispatcher();
auto listener1 = EventListenerTouchOneByOne::create();
listener1->setSwallowTouches(true);
listener1->onTouchBegan = ](Touch* touch, Event* event){
CCLOG("123");
return true;
};
dispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite);
```
如上,我绑定listen1监听事件到一个精灵sprite,也设置了事件吞噬。但是点击精灵所在层的另外的地方(非该精灵的区域),为什么还是能相应该事件?
为什么不能响应呢?
一个touch事件出现时,系统也不知道应该由谁来处理,所以默认都可以处理,然后大家排队。
你的sprite都没被touch到,为何还不让别的层或精灵来处理?