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 ...
随机推荐
- wampserver 下载链接没反应的解决办法
可能有很多小伙伴和我一样使用wampserver时,下载链接点击就是没有反应,当时我以为是因为网络原因,链接没有加载出来,或者是链接的请求不能得到响应,结果百度了一下才发现被“习惯”坑了一把,wamp ...
- vc6下unicode支持
最近在研究一个串口程序,要启用unicode支持,发现还挺麻烦的. VC6.0设定UNICODE编译环境 VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写 ...
- .NET Framwork 之 托管代码的执行过程
源代码代码第一次编译形成IL中间语言的托管代码,在运行时被Class Loader装载后进行JIT第二次编译形成托管的本地代码.在执行过程中,它会不断地检查当前我们执行的代码的安全性和规范性. Cla ...
- [Exception Android 19] - android.widget.HeaderViewListAdapter.isEnabled
java.lang.IndexOutOfBoundsException: Invalid index , size at java.util.ArrayList.throwIndexOutOfBoun ...
- tar 命令详解 / xz 命令
]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的 ...
- cookie_session的详细用法
相对路径与绝对路径 相对路径: 链接地址 <a href="list.do"></a> 表单提交地址 <form action="add. ...
- JBoss目录结构说明
http://www.blogjava.net/livery/articles/262544.html $JBOSS-HOME/bin: 放置各种脚本文件以及相关文件,包括jb ...
- Quartz.NET 实现定时任务调度
Quartz.NET Quick Start Guide Welcome to the Quick Start Guide for Quartz.NET. As you read this guide ...
- mongodb - collMod
该方法给集合添加一个标识,来修改集合的行为. 标识包含usePowerOf2Sizes和index. 命令格式为: db.runCommand({"collMod":<col ...
- c# 读取文件流
1.获取文件路径 2.编写读取路径文件信息 private string ReadFileStream(string filePath) { string st ...