Cocos2dx3.0 Layer触摸事件

              

请把代码粘贴在这里


```
看代码:

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !LayerColor::initWithColor(Color4B(0,255,0,255)))
    {
        return false;
    }
    Size visibleSize = Director::getInstance()->getVisibleSize();
 //添加自己
 auto player = Sprite::create("Player.png");
 player->setPosition(ccp(20,visibleSize.height/2));
 this->addChild(player);
 //执行定时器
 this->schedule(schedule_selector(HelloWorld::gameLogic), 2);
 //设置触摸事件
 /*this->setTouchEnabled(true);*/


 auto _eventDispatcher = Director::getInstance()->getEventDispatcher();
 auto touchlistener = EventListenerTouchOneByOne::create();
 touchlistener->setSwallowTouches(true);
 touchlistener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,this);
 _eventDispatcher->addEventListenerWithSceneGraphPriority(touchlistener,this);
    return true;
}
运行这段代码之后出现错误:

如果直接this->setTouchEnabled(true);运行这段代码 以下不运行 也不会执行HelloWorld::onTouchEnded()中的方法。这是为什么啊?

额,为什么只有一个onTouchEnded呢
我记得写触摸的时候是写
listener->onTouchBegan = CC_CALLBACK_2(GameStart::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(GameStart::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(GameStart::onTouchEnded, this);
这样的
本人新手,说错请勿见怪

触摸的时候要写onTouchBegan得,它有一个返回值bool,根据这个返回值来判断是否调用onTouchMoved和onTouchEnded。