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);
请给我一些替代解决方案 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);