我想检测哪个精灵被触摸了。如果我做 :
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), mySprite);
然后在我的触摸方法中我这样做:
bool HelloWorld::onTouchBegan(Touch* touch, Event* event)
auto spriteBlock = static_cast<Block*>(event->getCurrentTarget());
精灵检测良好。
问题是我在图层上有 20 个精灵,我需要能够检测到它们我需要设置吗
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), mySprite);
每个精灵?