1.在一个.h文件中 最好是一个父类中添加如下代码;
class CostomeKeyPadDelegae : public CCKeypadDelegate , public CCNode
{public:
virtual void keyBackClicked();
virtual void keyMenuClicked();
};
2.在其。cpp文件中实现各个按键的功能代码如下:
{
CCDirector::sharedDirector()->end();
}
void CostomeKeyPadDelegae::keyMenuClicked()//menu键
{
CCLog("android-menuclicked");
}
3使用方法。在一个cpp文件中加入一下代码
//设置调用android的案件
this->setKeypadEnabled(true);
CostomeKeyPadDelegae *keyDelegate = new CostomeKeyPadDelegae();
keyDelegate->autorelease();
CCDirector::sharedDirector()->getKeypadDispatcher()->addDelegate(keyDelegate);
okk 这样就能使用android的按键了
或者可以这样像himi那样更简单
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);