在头文件中增加函数
virtual void keyBackClicked();//android返回键
virtual void keyMenuClicked();//android菜单键
在init()函数中增加语句this->setIsKeypadEnabled(true);//android 返回键和菜单键支持
//this->setKeypadEnabled(true);//android 返回键和菜单键支持 这个才是正确的
然后实现这两个函数就行了
1》监听返回键和菜单键
classStartMenu:public cocos2d::CCLayer
{
public:
virtualbool init();
virtualvoid keyBackClicked();//监听Android 返回键
virtualvoid keyMenuClicked();//监听Android 菜单键
};
StartMenu.cpp
boolStartMenu::init()
{
this->setKeypadEnabled(true);
...
}
voidStartMenu::keyBackClicked (){
...
}
voidStartMenu::keyMenukClicked (){
...
}
2》监听home键
如何在Cocos2dx中处理Android os的设备的Menu和Back案件的响应处理;
其实很简单,步骤如下:
1. 在需要响应的.h 中添加如下两个虚函数:
1
2
|
virtual void keyBackClicked(); //Android 返回键
virtual void keyMenuClicked(); //Android 菜单键
|
2. .cpp类中实现如上两个函数即可,如下,Himi这里测试使用,World是个Layer
1
2
3
4
5
6
7
|
void World::keyBackClicked(){
CCLog( "Android- KeyBackClicked!" );
} void World::keyMenuClicked(){
CCLog( "Android- keyMenuClicked!" );
} |
3.初始化的时候记得开启: this->setIsKeypadEnabled(true);