主任::的getInstance() - > getTouchDispatcher()是给错误没有名为getTouchDispatcher()在cocos2d成员::主任在cocos2d 3.9
问题描述:
请给我这个 的OnEnter的一些替代的解决方案()方法主任::的getInstance() - > getTouchDispatcher()是给错误没有名为getTouchDispatcher()在cocos2d成员::主任在cocos2d 3.9
{
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);