c++ 部分
//继承cclayer的 XXXXLayer的.h文件中
virtualvoid keyBackClicked();
//XXXXLayer.cpp 中 头部添加 相应的jni头文件
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include "platform/android/jni/JniHelper.h"
#include <jni.h>
#include <android/log.h>
#endif
//XXXXLayer.cpp 中 onEnter() 添加
this->setKeypadEnabled(true);
//XXXXLayer.cpp 中 实现keyBackClicked() 函数
voidNewYearBigViewLayer::keyBackClicked()
{
JniMethodInfo minfo;
bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/xxxx/xxxxx/XXXXAndroid",
"sendCloseAppMessage","()V");
if(!isHave){
CCLog("jni:此方法不存在");
}else{
minfo.env->CallStaticVoidMethod(minfo.classID,minfo.methodID);
}
CCLog("jni:jni-java执行完毕");
}
////////////////////////////////////////////////////////
//AppDelegate.cpp 中
bool ispre_exit =false;
extern "C" {
void Java_com_xxxxx_xxxxx_XXXXXAndroid_nativecloseApp(JNIEnv* env, jobject thiz)
{
ispre_exit =false;
CCDirector::sharedDirector()->end();
}
voidJava_com_xxxxx_xxxxx_XXXXXAndroid_nativecancleCloseApp(JNIEnv* env, jobject thiz)
{
ispre_exit =false;
}
}
#endif
////////////////////////////////////////////////////////////////////////
//java 部分
//用hander发送消息调用 closeAppDialog()
public staticvoid sendCloseAppMessage(){
Log.d("Animals", ">>>>>>>>>>>>>>>>>>>>>>>>sendCloseAppMessage");
Message msg = Message.obtain();
msg.what = MYHandle.OPEN_CLOSE_DIALOG;
myHandler.sendMessage(msg);
}
//显示对话框
public void closeAppDialog()
{
new AlertDialog.Builder(MyPictureBook.this)
.setTitle(R.string.DialogTitle)
.setMessage(R.string.closeAppMsg).setNegativeButton(R.string.positiveBtn,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which)
{
dialog.dismiss();
nativecloseApp();
finish();
}
})
.setPositiveButton(R.string.negativeBtn,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
dialog.dismiss();
nativecancleCloseApp();
}
})
.create().show();
}
public staticnativevoid nativecloseApp();
public staticnativevoid nativecancleCloseApp();
大概意思是 当点击返回键时 弹出一个对话框显示是否退出程序 选择是退出 选择否 对话框消失
分享到:
相关推荐
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
cocos2d-x-2.1.5
在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...
资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...
Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...
cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656
资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...
cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...
cocos2d-x的环境搭建,里面引用大量参考网址。 集合了一些好用的东西,希望对下载者有用。 教程比较长,因为本来cocos2d-x移植安卓就是比较麻烦的,但配置好以后就可以再三步就可以完成移植了。
这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...
经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip
精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发
《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...
Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。
Cocos2d-x windows vs2010 配置图文详解
cocos2d-x 动画工具 Flash2Cocos2d-x 1.3
Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本
Cocos2d-x游戏编程——C++篇(电子工业出版社,徐飞 著)书本配套的光盘代码,
详细介绍cocos2d-x vs2010 android cygwin 环境搭建,楼主亲测,如有疑问,可以私信我!
cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.