微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos2dx 响应Android返回键和Menu键

http://www.jb51.cc/article/p-wuewffrl-pv.html
1.在layer中调用
  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

原文地址:https://www.jb51.cc/cocos2dx/342358.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐