Director :: getInstance() - > getTouchDispatcher()给出错误,cocos2d :: Director中没有名为getTouchDispatcher()的成员在cocos2d中3.9 [英] Director::getInstance()->getTouchDispatcher() is giving error that no member named getTouchDispatcher() in cocos2d::Director in cocos2d 3.9

查看:1490
本文介绍了Director :: getInstance() - > getTouchDispatcher()给出错误,cocos2d :: Director中没有名为getTouchDispatcher()的成员在cocos2d中3.9的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请给我这个
onEnter()方法的替代解决方案

please give me some alternate solution of this onEnter() Method

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

    Layer::onEnter();
}


推荐答案

在cocos2d 3.9中,使用如下所述的块来检测触摸。你可以在onEnter中写下面的代码。有关详情,请参阅cocos2d-x计划指南: http://www.cocos2d- x.org/programmersguide/8/index.html

In cocos2d 3.9, you can use blocks as explained below to detect touches. You can write below code in onEnter. For more details, check cocos2d-x programming guide: 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);

这篇关于Director :: getInstance() - > getTouchDispatcher()给出错误,cocos2d :: Director中没有名为getTouchDispatcher()的成员在cocos2d中3.9的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆