博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quick-cocos2d-x android返回键监听并实现原生退出对话框
阅读量:6087 次
发布时间:2019-06-20

本文共 1664 字,大约阅读时间需要 5 分钟。

这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇。

首先说明一下使用的quick版本号——2.2.5。

直接上代码

function MainScene:addBackEvent()    if device.platform == "android" then        self.touchLayer = display.newLayer()        self.touchLayer:addNodeEventListener(cc.KEYPAD_EVENT, function(event)            if event.key == "back" then                  --CCDirector:sharedDirector():endToLua()                local javaClassName = "com/cocos2dx/testgame/Testgame"                local javaMethodName = "exit"                luaj.callStaticMethod(javaClassName, javaMethodName)            end        end)        self.touchLayer:setKeypadEnabled(true)        self:addChild(self.touchLayer)    end end
比較好理解,创建一个层,为该层加入�一个事件监听,这个事件监听的类型是keypad,假设key的值是back那么就运行里面的代码了,假设不须要显示android原生的对话框,仅仅要关闭程序,仅仅须要运行上面代码中凝视的部分就能够了。

2.2.3之后的版本号在加入�事件监听上与之前有所不同,这里须要注意下。

当然做软件嘛,好歹有个温馨提示,防止用户无意点到退出游戏就不友好了,所以这里调用了一下android原生对话框来显示。quick提供了一个luajavabridge这个sample,能够非常轻松调用到android中的静态函数。

这里还是贴一下android中调用的函数代码

public static void exit() {		instance.runOnUiThread(new Runnable() {						@Override			public void run() {				Builder builder = new Builder(instance);				builder.setTitle("提示");				builder.setMessage("确定退出吗");				builder.setIcon(android.R.drawable.ic_dialog_info);				builder.setPositiveButton("确定", new OnClickListener() {										@Override					public void onClick(DialogInterface dialog, int which) {						System.exit(0);											}				});				builder.setNegativeButton("取消", new OnClickListener() {										@Override					public void onClick(DialogInterface dialog, int which) {						dialog.dismiss();					}				}).show();							}		});	}
这样就大功告成!

转载地址:http://atpwa.baihongyu.com/

你可能感兴趣的文章
买MyEclipse送书活动|《Effective Java中文版(第2版)》《Java编程思想(第
查看>>
微信浏览器取消缓存的方法
查看>>
JSP 结构
查看>>
由&引发的转义问题
查看>>
亲爱的项目经理,我恨你
查看>>
金笛邮件系统组织机构管理
查看>>
HTML基础学习
查看>>
shell
查看>>
js中string对象的常用方法
查看>>
将jar文件转换成exe可执行文件
查看>>
linux下几个关机、重启的命令
查看>>
MySQL 的slave_exec_mode参数的用处
查看>>
《近距离探索memcache缓存》学习笔记
查看>>
解决SSH会话连接超时问题
查看>>
一条命令搞垮MongoDB实例
查看>>
netbackup基础知识
查看>>
个人信息保护大势所趋 勿待重创之下方出细典
查看>>
MJRefresh的运用
查看>>
mysql的一个坑
查看>>
java 帮助类
查看>>