加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2dx 响应Android返回键和Menu键

发布时间:2020-12-14 21:41:14 所属栏目:百科 来源:网络整理
导读:http://www.jb51.cc/article/p-wuewffrl-pv.html 1.在layer中调用: [cpp] view plain copy print ? setKeypadEnabled( true ); //设置相应按键消息 layer中重写以下两个方法: ? virtual void keyBackClicked(); //响应返回键 virtual void keyMenuClicked(
http://www.52php.cn/article/p-wuewffrl-pv.html
1.在layer中调用:
[cpp] view plain copy print ?
  1. setKeypadEnabled(true);//设置相应按键消息

layer中重写以下两个方法:

?
    virtualvoidkeyBackClicked();//响应返回键
  1. virtualvoidkeyMenuClicked();//响应Menu键
  2. voidCBaseLayer::keyBackClicked(){
  3. intiManSceneTag=CCDirector::sharedDirector()->getRunningScene()->getTag();//如果是主场景,则退出
  4. if(MAIN_SCENE_TAG==iManSceneTag){
  5. CCDirector::sharedDirector()->end();
  6. #if(CC_TARGET_PLATFORM==CC_PLATFORM_IOS)
  7. exit(0);
  8. #endif
  9. }
  10. }
  11. voidCBaseLayer::keyMenuClicked(){
  12. }

 以上BaseLayer是需要响应返回键事件的所有层的基类,避免了所有层都需要写同样的代码;2.或者自己派生CCKeypadDelegate的子类,然后注册为键盘事件的委托调用 
 
?
    classMyKeypadDelegate:publicCCKeypadDelegate{
  1. public:
  2. virtualvoidkeyBackClicked();
  3. virtualvoidkeyMenuClicked();
  4. };
  5. m_pKeypadDlegate=newMyKeypadDelegate();
  6. pDirector->getKeypadDispatcher()->addDelegate(m_pKeypadDlegate);
这样就可以全局响应键盘事件 CCLayer也是继承自CCKeypadDelegate

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读