cocos2dx 中实现再按一次退出效果
发布时间:2020-12-14 20:13:44 所属栏目:百科 来源:网络整理
导读:我们常见的安卓项目都有 再按一次退出 程序的提示,在cocos2dx中如何实现? 编译环境cocos2dx 3.3 vs2013 先上代码 //创建一个监听按键的函数auto listener = EventListenerKeyboard::create();//设置函数的onKeyReleased实现listener-onKeyReleased = [=](E
我们常见的安卓项目都有再按一次退出程序的提示,在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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |