本篇简单的介绍cocos2dx 中c++和java的交互(以弹窗为列子)
1:这里我将自己写的java代码作为一个java lib让主项目引用。
创建步骤是.android create lib-project + 选项+参数如:
.android create lib-project -n testjava -k com.liu -p /Users/wupc/MyPorj/test1 -t 3
(alias .android="$MYBIN/android-sdk-macosx/tools/android")
在主项目的project.properties配置文件中引用
android.library.reference.2=shared
2:c++文件介绍
a:shared.h
#pragma once
#include <string>
#include <functional>
typedef std::function<void()> ButCallBack;点击回调函数类型
namespace Shared {
std::string getDeviceID();
void show_Alart(std::string title, std::string msg, std::string butname, ButCallBack normal);
void show_Alart(std::string title, std::string msg, std::string but1_name ,ButCallBack yes, std::string but2_name, ButCallBack no);
}
b:shared.cpp
#include "Shared.h"
#include "platform/android/jni/JniHelper.h"
#include <string>
#include <deque>
#include "jai_cocos2dx.h"
using namespace cocos2d;
namespace Shared {
static std::deque<ButCallBack> butCallInfo;回调消息队列
void show_Alart(std::string title, std::string msg, std::string butName, ButCallBack normal)
{
butCallInfo.push_back(normal);//添加点击回调

这篇博客介绍了如何在Cocos2dx项目中实现C++与Java的交互,以弹窗功能为例。通过创建Android库项目,编写Java和C++代码,使用JNI进行桥接,实现了从C++调用Java的弹窗功能,并处理点击回调。
最低0.47元/天 解锁文章
712

被折叠的 条评论
为什么被折叠?



