Cocos3.0 的android返回键功能实现
比如:Game.h Game.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)
{
<span style="white-space:pre"> </span>//把keycode的枚举值转换成int 手机的返回键键值为6
<span style="white-space:pre"> </span>auto x = (int)_keyCode;
<span style="white-space:pre"> </span>//假设点击返回键一次
<span style="white-space:pre"> </span>if (x == 6)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>//记录点击次数的变量,在头文件内声明并赋值0
<span style="white-space:pre"> </span>keydown++;
<span style="white-space:pre"> </span>//假设点击两次则退出游戏
<span style="white-space:pre"> </span>if (keydown == 2)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>Director::getInstance()->end();
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>//否则就显示文字。“再按一次退出”
<span style="white-space:pre"> </span>else
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>//添加的一个精灵图片。就是显示的“再按一次退出游戏”
<span style="white-space:pre"> </span>auto label1 = Sprite::create("again.png");
<span style="white-space:pre"> </span>addChild(label1);
<span style="white-space:pre"> </span>//在给文字加一个消失动画和一个回调函数
<span style="white-space:pre"> </span>//动画消失以后回调函数删除该Node,并把keydown赋值0
<span style="white-space:pre"> </span>//假设动画没有消失而又点击了返回键则直接退出游戏
<span style="white-space:pre"> </span>//两次点击返回键的时间间隔为0.1+1.5=1.6,这个时间能够自己设置
<span style="white-space:pre"> </span>auto fadeout = FadeOut::create(0.1f);
<span style="white-space:pre"> </span>label1->runAction(Sequence::create(DelayTime::create(1.5f),fadeout, CallFunc::create(CC_CALLBACK_0(againExit::oncallback, this, label1)), NULL));
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
}
Cocos3.0 的android返回键功能实现的更多相关文章
- quick-cocos2d-x android返回键监听并实现原生退出对话框
这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一 ...
- Html5 监听拦截Android返回键方法详解
浏览器窗口有一个history对象,用来保存浏览历史. 如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3. history对象提供了一系列方法, ...
- vue 定义全局函数,监听android返回键事件
vue 定义全局函数,监听android返回键事件 方法一:main.js 注入(1)在main.js中写入函数Vue.prototype.changeData = function (){ aler ...
- ionic监听android返回键(实现“再按一次退出”功能)
在android平台上的app,在主页面时经常会遇到"再按一次退出app"的功能,避免只按一下返回键就退出app提升体验优化. 1.这个功能需要我们用到ionic提供的regist ...
- Android 返回键的处理
多网友不明确怎样在Android平台上捕获Back键的事件.Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台.而回到桌面的尴尬情况,在Android上有两种方法来获取该 ...
- Android返回键
感谢大佬:https://www.cnblogs.com/qiluboy/p/5308310.html Android中back键和home键的区别: back键 Android的程序无需刻意的去退出 ...
- android 返回键 操作
cocos2dx项目移植到android平台上对于 android手机返回键,主菜单键等键的相关操作,本篇详细对返回键做个简单的介绍说明, 不足不对之处,请同猿们指出. 首先在主activity下,即 ...
- Android 返回键双击退出程序
/** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == K ...
- ionic android返回键
每次点击返回键只会执行一个事件, 在自定义事件中要控制条件不满足时实行原默认动作. 如果只在一个view中监控, 还需要及时注销事件. http://www.jianshu.com/p/b567cc6 ...
随机推荐
- 更改Mysql数据库存储位置
默认安装位置 C:\Program Files\MySQL\MySQL Server 5.7 一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据库存储主路径 打开MyS ...
- 电子商务ICP经营许可证申请条件
电子商务ICP经营许可证申请条件:注册资金100万的纯内资公司:服务器在本地:域名备案以公司名义备案:申请条件:1.公司营业执照副本复印件需清晰有效,并已完成该年度年检事宜,特别注意营业执照的有效期要 ...
- .NET Framwork 之 托管代码的执行过程
源代码代码第一次编译形成IL中间语言的托管代码,在运行时被Class Loader装载后进行JIT第二次编译形成托管的本地代码.在执行过程中,它会不断地检查当前我们执行的代码的安全性和规范性. Cla ...
- JMeter 十六:加密处理
假设采用MD5进行加密 JMeter 内置的没有MD5加密方法.网上有说采用__MD5函数的,但是我在 Jmeter 2.13 以及 Jmeter 3.2 版本上都没有找到这个函数,官方文档也没有看到 ...
- Direcshow中视频捕捉和參数设置报告
Direcshow中视频捕捉和參数设置报告 1. 关于视频捕捉(About Video Capture in Dshow) 1视频捕捉Graph的构建 一个能够捕捉音频或者视频的graph图 ...
- Java设计模式(十) 备忘录模式 状态模式
(十九)备忘录模式 备忘录模式目的是保存一个对象的某个状态,在适当的时候恢复这个对象. class Memento{ private String value; public Memento(Stri ...
- 伪分布模式安装hadoop
准备工具: 虚拟机:VMware Linux系统:CentOS hadoop-1.1.2.tar.gz jdk-7u75-linux-x64.gz CentOS的网络配置 1.设置主机中VMware ...
- Openerp开发进销存系统完毕总结
转自:http://blog.csdn.net/heartrude/article/details/9142463 安装Openoffice 在openoffice中安装openerp repor ...
- Android Exception 7(attempt to re-open an already-closed object )
07-23 18:16:17.641: W/SQLiteConnectionPool(28390): A SQLiteConnection object for database '/storage/ ...
- 【VBA编程】13.Workbook对象的事件
Workbook事件用于响应对Workbook对象所进行的操作. [BeforeClose事件] BforeClose事件用于响应窗口关闭的操作 在工程资源器中,双击“ThisWorkbook”对象, ...