大佬教程收集整理的这篇文章主要介绍了cocos2dx 中实现再按一次退出效果,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们常见的安卓项目都有再按一次退出程序的提示,在cocos2dx中如何实现?
编译环境cocos2dx 3.3
vs2013
先上代码
//创建一个监听按键的函数 auto listener = EventListenerKeyboard::create(); //设置函数的onKeyReleased实现 listener->onKeyReleased = [=](EventKeyboard::KeyCode _keyCode,Event * pEvent) { //把keycode的枚举值转换成int 手机的返回键键值为6 auto x = (int)_keyCode; //这里是测试键值的代码,大家可以忽略 char a[10] = { 0 }; sprintf(a,"%d",X); label->setString(a); //如果点击返回键一次 if (x==6) { //记录点击次数的变量,在头文件内声明并赋值0 keydown++; //如果点击两次则退出游戏 if (keydown==2) { Director::geTinstance()->end(); } //否则就显示文字,“再按一次退出” else { auto label1 = Label::createWithTTF("Try again!","fonts/Marker Felt.ttf",24); label1->setPosition(Vec2(200,100)); this->addChild(label1,2); //在给文字加一个消失动画和一个回调函数 //动画消失以后回调函数删除该Node,并把keydown赋值0 //如果动画没有消失而又点击了返回键则直接退出游戏 auto fadeout = FadeOut::create(1.5); label1->runAction(Sequence::create(fadeout,CallFunc::create(CC_CALLBACK_0(HelloWorld::aaaupdate,this,label1)),NULL)); } } }; //添加监听 _eventDispatcher->addEventListenerWithSceneGraphpriority(listener,this);下面是回调函数的实现:
//动画回调函数 void HelloWorld::aaaupdate(Label * l) { keydown = 0; removeChild(l); }
最后附上下载链接!可以拿去直接放到class文件夹加入文件中
http://download.csdn.net/detail/babylang3/8404379
以上是大佬教程为你收集整理的cocos2dx 中实现再按一次退出效果全部内容,希望文章能够帮你解决cocos2dx 中实现再按一次退出效果所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。