Director::getInstance()->getTouchDispatcher() 给出错误,在 cocos2d 3.9 中 cocos2d::Director 中没有名为 getTouchDispatcher() 的成员

Director::getInstance()->getTouchDispatcher() is giving error that no member named getTouchDispatcher() in cocos2d::Director in cocos2d 3.9

请给我一些替代解决方案 onEnter() 方法

{
   Director::getInstance()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);

    Layer::onEnter();
}

在 cocos2d 3.9 中,您可以使用下面说明的块来检测触摸。您可以在 onEnter 中编写以下代码。有关详细信息,请查看 cocos2d-x 编程指南:http://www.cocos2d-x.org/programmersguide/8/index.html

//  Create a "one by one" touch event listener
// (processes one touch at a time)
auto listener1 = EventListenerTouchOneByOne::create();

// trigger when you push down
listener1->onTouchBegan = [](Touch* touch, Event* event){
    // your code
    return true; // if you are consuming it
};

// trigger when moving touch
listener1->onTouchMoved = [](Touch* touch, Event* event){
    // your code
};

// trigger when you let up
listener1->onTouchEnded = [=](Touch* touch, Event* event){
    // your code
};

// Add listener
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);