Cocos3.0 的android返回键功能实现,cocos3.0android
例如:Game.hGame.cpp
头文件Game.h中定义:
void onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent);
Game.cpp文件中实现:
auto listener = EventListenerKeyboard::create(); //和回调函数绑定 listener->onKeyReleased = CC_CALLBACK_2(Game::onKeyReleased,this); //添加到事件分发器中 Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this);
//返回键退出
void Game::onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent)
{ Director::getInstance()->end();
}
//注意,此方法只支持Android平台下,在windows平台下编译会出现错误,建议用windows平台编译的时候把此方法注销掉。
//上述方法只点击一次返回键既可以退出,如果需要2次退出,可以采用下面这个方法:
void Game::onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent)
{ //把keycode的枚举值转换成int 手机的返回键键值为6auto x = (int)_keyCode;//如果点击返回键一次if (x == 6){//记录点击次数的变量,在头文件内声明并赋值0keydown++;//如果点击两次则退出游戏if (keydown == 2){Director::getInstance()->end();}//否则就显示文字,“再按一次退出”else{//增加的一个精灵图片,就是显示的“再按一次退出游戏”auto label1 = Sprite::create("again.png");addChild(label1);//在给文字加一个消失动画和一个回调函数//动画消失以后回调函数删除该Node,并把keydown赋值0//如果动画没有消失而又点击了返回键则直接退出游戏//两次点击返回键的时间间隔为0.1+1.5=1.6,这个时间可以自己设置auto fadeout = FadeOut::create(0.1f);label1->runAction(Sequence::create(DelayTime::create(1.5f),fadeout, CallFunc::create(CC_CALLBACK_0(againExit::oncallback, this, label1)), NULL));}}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
http://www.bkjia.com/Androidjc/1031710.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/1031710.htmlTechArticleCocos3.0 的android返回键功能实现,cocos3.0android 例如: Game.h Game.cpp 头文件Game.h中定义: void onKeyReleased( EventKeyboard::KeyCode keyCode,Event * pEvent )...