Eventlistner 绑定到错误的target

新手,想研究下cocos。
于是我用cocos studio生成了一个helloworld空工程,加了2个button,在VS里去加button的响应。

在HelloScene的create方法里,注册button的响应就是OK的,如下

Scene* MainSceneLayer::createScene()
{
// ‘scene’ is an autorelease object
愀甀琀漀 scene = Scene::create();

// ‘layer’ is an autorelease object
愀甀琀漀 layer = MainSceneLayer::create();

// add layer as a child to scene
猀挀攀渀攀->addChild(layer);

愀甀琀漀 button = MyUtils::seekFromRootByName(scene, std::string(“Button_2”));
<---- 从scene的child里找到Button2
甀椀::Button *btn_battle = dynamic_castui::Button*(button);

EventListenerTouchOneByOne _btnBattleTouchListener = EventListenerTouchOneByOne::create();
开戀琀渀BattleTouchListener->onTouchBegan = =](Touch
touch, Event* event) {
CCLOG(“began”);
爀攀琀甀爀渀 true;
紀;

开戀琀渀BattleTouchListener->onTouchMoved = =](Touch* touch, Event* event) {
CCLOG(“moved”);
紀;

开戀琀渀BattleTouchListener->onTouchEnded = =](Touch* touch, Event* event) {
CCLOG(“ended”);
紀;

开戀琀渀BattleTouchListener->setSwallowTouches(true);
愀甀琀漀 dispatcher = Director::getInstance()->getEventDispatcher();
搀椀猀瀀愀琀挀栀攀爀->addEventListenerWithSceneGraphPriority(_btnBattleTouchListener, button2);

// return the scene
爀攀琀甀爀渀 scene;
}

但是在HelloScene 的init方法里,同样的代码会把listener绑定到button_1!!!!!
是BUG呢还是我的方法不对?

bool MainSceneLayer::init()
{
//////////////////////////////
// 1. super init first
椀昀 ( !Layer::init() )

爀攀琀甀爀渀 false;

愀甀琀漀 rootNode = CSLoader::createNode(“MainScene.csb”);
愀搀搀Child(rootNode);

/*
auto button = MyUtils::seekFromRootByName(rootNode, std::string(“Button_2”));
<---- 从Layer 的Child里找到 Button_2

EventListenerTouchOneByOne *_btnBattleTouchListener = EventListenerTouchOneByOne::create();
开戀琀渀BattleTouchListener->onTouchEnded = CC_CALLBACK_2(MainSceneLayer::onButtonBattleTouchEnded, button);

开戀琀渀BattleTouchListener->onTouchBegan = =](Touch* touch, Event* event) {
CCLOG(“began”);
爀攀琀甀爀渀 true;
紀;

开戀琀渀BattleTouchListener->onTouchMoved = =](Touch* touch, Event* event) {
CCLOG(“moved”);
紀;

开戀琀渀BattleTouchListener->onTouchEnded = =](Touch* touch, Event* event) {
CCLOG(“ended”);
紀;

开戀琀渀BattleTouchListener->setSwallowTouches(true);

愀甀琀漀 dispatcher = Director::getInstance()->getEventDispatcher();
搀椀猀瀀愀琀挀栀攀爀->addEventListenerWithSceneGraphPriority(_btnBattleTouchListener, button);
*/

爀攀琀甀爀渀 true;
}