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 ...
随机推荐
- URLScan参数说明
本文分步说明如何配置 URLScan 工具以防止 Web 服务器受到攻击和利用. 修改 URLScan.ini 文件 URLScan 的所有配置都是通过 URLScan.ini 文件执行的,此文件位于 ...
- Android之旅七 Service简介
1. Service是什么:它是一个应用程序组件.没有图形化界面.通常用来处理一些耗时比较长的操作(例如下载.播放MP3等等).可以使用Service更新ContentProvide ...
- Linux环境搭建:2. 安装Ubuntu虚拟机
我家淘宝店,主要协助同学做毕业设计:https://shop104550034.taobao.com/?spm=2013.1.1000126.d21.pPCzDZ 1. 创建虚拟机 1. 打开VMwa ...
- java实现归并排序算法
归并排序算法思想:分而治之(divide - conquer);每个递归过程涉及三个步骤第一, 分解: 把待排序的 n 个元素的序列分解成两个子序列, 每个子序列包括 n/2 个元素.第二, 治理: ...
- C#注释——爱你不是两三天
说到注释这个东东,我不得不说:爱你不是两三天,每天却想你很多遍...原来梁静茹同学这首歌不全然是情歌啊~ 一句注释也没有的一大片的代码有木有 看着那些无名者写的神秘代码,有没有骂一句,你妹的... ...
- 算法笔记_073:哈密顿回路问题(Java)
目录 1 问题描述 2 解决方案 1 问题描述 什么是哈密顿回路? 引用自百度百科: 哈密顿图(哈密尔顿图)(英语:Hamiltonian path,或Traceable path)是一个无向图, ...
- react 执行 yarn build 后 去除 .js.map 文件
map文件是帮助我们查看报错的位置的. map文件由devtool属性控制,如果不想要map,注释掉就可以,大约webpack.config.prod.js第57行: // devtool: shou ...
- PHP过滤器
这里介绍的过滤器包括: 1.filter_input 2.filter_input_array 3.filter_var 4.filter_var_array 5.filter_has_var 一.查 ...
- recess----2.Controller里面取用request信息
事实上,第一个APP里面除了没有model,其它的都有用过了,但是需要单独拎出来看看清楚. Recess框架里面的controller就是一个典型的MVC框架的controller,它负责处理从浏览器 ...
- CentOS 安装jdk1.7 32位
CentOS 安装jdk1.7 32位 1.下载jdk-7u21-linux-i586.rpm ? 1 wget http://uni-smr.ac.ru/archive/dev/java/bulk/ ...