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

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...