cocos2d-x 3.1 android 平台 响应返回键 疑问? :报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

cocos2d-x 3.1 android 平台 响应返回键 疑问? :报错

kun坤 2020-06-06 22:09:49 68

下边的代码是正确的:

auto listener = EventListenerKeyboard::create();
listener->onKeyReleased = CC_CALLBACK_2(WelcomeScene::onKeyReleased, this);

_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);


但是下边的确是无效的:

EventListenerKeyboard* listener = EventListenerKeyboard::create();
listener->onKeyReleased = CC_CALLBACK_2(WelcomeScene::onKeyReleased, this);


_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

请问下  这是为什么啊?

Android开发
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-06 22:10:13

    addEventListenerWithSceneGraphPriority(),不知道是不是我见过有史以来最长的C++方法名,2dx感觉更像是Java编码风格套上C++语言(再带上Object C的一点气质)的怪胎.当然仅仅是个人喜好.不喜勿喷.


    ######可是3.0版本开始就有这个了,网上好多源码包括官方test工程都是用这个。。######// 初始化并绑定
    //auto kblsnr = EventListenerKeyboard::create();
    EventListenerKeyboard* kblsnr = EventListenerKeyboard::create();
    kblsnr->onKeyReleased = CC_CALLBACK_2(LayerGame::onKeyReleased, this);
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(kblsnr, this);


    我试了一下,没有问题。无论是不是auto都ok

    ######你的也是3.1吗?
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程