我用的是Cocos2d-x 3.0
在我的一个Layer的init方法中,我加入了
auto listener = EventListenerTouchAllAtOnce::create();
listener->onTouchesBegan = CC_CALLBACK_2(PinchZoomLayer::onTouchesBegan, this);
listener->onTouchesMoved = CC_CALLBACK_2(PinchZoomLayer::onTouchesMoved, this);
listener->onTouchesEnded = CC_CALLBACK_2(PinchZoomLayer::onTouchesEnded, this);
listener->onTouchesCancelled = CC_CALLBACK_2(PinchZoomLayer::onTouchesCancelled, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
//上面的代码可以正常工作,事件也可以触发
//加入下面的代码之后,事件就不被触发了,我重新create一个layer,把layout放进去,也不行。这样做有什么问题么?
auto layout = static_cast<cocos2d::ui::Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("SomeUI.json"));
this->addChild(layout);
好迷茫的感觉,请大家帮忙。