
我们常见的安卓项目都有再按一次退出程序的提示,在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 中实现再按一次退出效果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)