为什么在自定义sprite里面无法获取手势事件?

我想在每个精灵里面写点击事件 代码: 在init方法里面
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(Card::touchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(Card::touchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(Card::touchEnded, this);
auto eventDispatcher = Director::getInstance()->getEventDispatcher();
eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
但是不走touchBegan moved ended方法

然后我在他们的layer里面写上这些方法走layer的touch事件,但是sprite的touch事件还是没走。。。 这是为什么呢?只能在layer里面写然后判断在哪个sprite嘛?
谢谢。。。

有人来说下吗 ~~~

我记得是只能在layer里面写,然后判断点击了那个sp

touch事件只能在layer里面监听的,Sprite无法监听。