一、监听退出键和菜单键很简单,由于CCLayer继承了CCKeypadDelegate
1.所以自己定义的层继承与CCLayer后,只需要声明两个虚函数
virtual void keyBackClicked();
virtual void keyMenuClicked();
2.并且在init中启用监听
//启动安卓监听
this->setKeypadEnabled(true);
3.然后再这两个函数定义中执行相应的代码即可。
对于返回键,可以参考HelloWorldScene.cpp中 menuCloseCallback (CCObject* pSender)函数。
举例:
void GuideLayer::keyBackClicked()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
CCDirector::sharedDirector()->end();
#endif
}
退出键只有在定义了此函数的场景中可以使用。如果游戏有多个场景可以每个都定义一次,或者是定义一个公共的基类,让这些类都集成于这个基类。
二、home键
home键的监听可以在AppDelegate.cpp中的
void AppDelegate::applicationDidEnterBackground()
void AppDelegate::applicationWillEnterForeground()
这两个函数中实现。打开两个函数中对声音的注释,加上SimpleAudioEngine.h头文件。