親レイヤーの上に子レイヤーをcreateしてtouch処理とか定義してもtouch処理が親レイヤーにまで反映されてしまう。あくまで子レイヤーでtouch処理を終了させたい場合。 bool CustomLayer::init() { if (!LayerColor::init()) { return false; } auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = CC_CALLBACK_2(GemLayer::onTouchBegan, this); this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this)