当前位置:首页 » 编程语言 » cocos2dxjava

cocos2dxjava

发布时间: 2024-04-10 05:49:10

㈠ cocos2dx java锲炶皟C++镓句笉鍒版柟娉曪纴姹傚ぇ绁炴寚鏁

JAVA璋幂敤C++渚嫔瓙.
1 extern "C" {
2 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
3 void Java_org_cocos2dx_cpp_JniTestHelper_KuNiuLogin(JNIEnv *env, jobject thiz, jstring jstr)
4 {
5 auto strOpenId = env->GetStringUTFChars(jstr, NULL);
6 env->ReleaseStringUTFChars(jstr, strOpenId);
7 }
8 #endif
9 }

娉ㄦ剰杩欎釜鍑芥暟镄勫懡钖.
銆銆Java 鍓岖紑.
銆銆org_cocos2dx_cpp 鍖呭悕.
銆銆JniTestHelper 绫诲悕.
銆銆KuNiuLogin 鍑芥暟钖.
鍙傛暟:
銆銆鍓崭袱涓鍙傛暟鏄蹇呴’镄, 鍏蜂綋鐢ㄥ刧oogle链..
銆銆钖庨溃镄勫弬鏁板~镊宸遍渶瑕佺殑, 娉ㄦ剰绫诲瀷.
銆銆鍦ㄥ嚱鏁板唴閮ㄨ幏鍙栧弬鏁扮殑镞跺, 瑕侀氲繃浠ヤ笂鏂规硶銮峰彇.

JAVA鍙瑕佸缓涓涓绫, 锻藉悕涓 JniTestHelper,

瀹氢箟鍑芥暟 KuNiuLogin, 杩欎釜鍑芥暟蹇呴’鎸夌収NDK镄勭害瀹氩畾涔.
public static native void KuNiuLogin(String openId);
銆銆native 鍓岖紑蹇呴’瑕佸姞, 杩欎釜鍑芥暟鍦↗AVA涓镞犻渶瀹炵幇, 镊锷ㄦ椠灏凛++鍑芥暟.
浣跨敤镄勬椂鍊欑洿鎺 JniTestHelper.KuNiuLogin(""); 灏卞彲浠ヤ简.

㈡ 如何在Android平台上使用JS直接调用Java方法

在Cocos2d-js 3.0beta中加入了一个新特性,在Android平台上我们可以通过反射直接在js中调用java的静态方法。它的使用方法很简单:
var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...)

在callStaticMethod方法中,我们通过传入Java的类名,方法名,方法签名,参数就可以直接调用Java的静态方法,并且可以获得Java方法的返回值。下面介绍的类名和方法签名可能会有一点奇怪,但是Java的规范就是如此的。

类名
参数中的类名必须是包含Java包路径的完整类名,例如我们在org.cocos2dx.javascript这个包下面写了一个Test类:

package org.cocos2dx.javascript;
public class Test {
public static void hello(String msg){
System.out.println(msg);
}
public static int sum(int a, int b){
return a + b;
}
public static int sum(int a){
return a + 2;
}
}

那么这个Test类的完整类名应该是org/cocos2dx/javascript/Test,注意这里必须是斜线/,而不是在Java代码中我们习惯的点。

方法名
方法名很简单,就是方法本来的名字,例如sum方法的名字就是sum。

方法签名
方法签名稍微有一点复杂,最简单的方法签名是()V,它表示一个没有参数没有返回值的方法。其他一些例子:
(I)V表示参数为一个int,没有返回值的方法;
(I)I表示参数为一个int,返回值为int的方法;
(IF)Z表示参数为一个int和一个float,返回值为boolean的方法;

现在有一些理解了吧,括号内的符号表示参数类型,括号后面的符号表示返回值类型。因为Java是允许函数重载的,可以有多个方法名相同但是参数返回值不同的方法,方法签名正是用来帮助区分这些相同名字的方法的。

㈢ 如何在win7上搭建Android cocos2d-x-3.3开发环境

android平台工程创建

1、android SDK+NDK安装

1)、安装java jdk(如果已经安装了,可以不用此步骤)

进入:http://www.oracle.com/technetwork/java/javase/downloads/index.html或者直接点击下载。如下图

(7)安装完成后,点击Yes按钮,重启Eclipse。

选择android SDK解压后的目录(ADT 18 默认会扫描电脑,找到并配置好SDK位置)。

配置cygwin

在命令行中进入cygwin目录,并执行cygwin.bat,如果不是用Administrator账号登录的系统,那么会在cygwinhome文件夹中生成一个以登录名命名的新的文件夹。

修改新生成文件夹中的“.bash_profile ”文件,用UE或editplus等文本编辑器打开,在最后增加: (e/android-ndk-r8-windows/android-ndk-r8是安装ndk的路径)

NDK_ROOT=/cygdrive/e/android-ndk-r8-windows/android-ndk-r8

export NDK_ROOT

然后保存关闭。

至此便基本搭建完毕cocos2d-x的windows 7 android 环境

㈣ cocos2dx 3.16怎么编译

先给自己科普一下, android sdk 是给java开发者用的, 咱C++开发者用的是android ndk, 所以就是使用ndk来编译cocos2dx程序了

使用命令行创建一个项目, 我这里创建的是一个lua项目:cocos new lua_proj2 -p com.company_name.program_name -l lua -d d:\xxx\xxx
此时创建了一个DEMO程序, 此时就可以使用cocos命令生成一个apk包, 进入到目录lua_proj2\frameworks\runtime-src下面, 在此目录下面执行命令cocos compile -p android 就会生成一个apk包, 把这个拖到genymotion上面, 就安装跑起来了.
上面说的是不使用eclipse的方式来生成一个apk包, 下面记录一下在eclipse中加载lua_proj2这个项目, 并生成apk包的过程. 为什么一定要将cocos2dx项目导入到eclipse中来生成apk包呢, 因为在eclipse中可以连接AVD来调试android程序, 再者, eclipse可以运行在linux环境下面, 后面我打算在linux进行开发, 所以这一步是一定要跨出去的

打开eclipse, 加载lua_proj2项目, 在此注意一下, 不需要加载libcocos2dx这个项目, 只要加载lua_proj2这个自己新建一项目即可
在eclipse中右击lua_proj2 -> Properties. 出现Properties for lua_proj2框框

创建一个新的builder

第一个红框是builder名称, 随便填写, 第二个红框框是NDK生成工具, 即, 使用此工具来编译C++项目, 第三个红框框是工作目录, 此处我使用lua_proj2项目目录作为工作目录, 切换到Environment选项卡, 新建一个在此生成器中使用的环境变量NDK_MODULE_PATH, 值是......\lua_proj2\frameworks\cocos2d-x\cocos;......\lua_proj2\frameworks\cocos2d-x;......\lua_proj2\frameworks\cocos2d-x\external, 前面的.......是绝对目录的省略, 这里要输入绝对路径名称, 在此我就不写绝对路径了.

一路OK下去, 到下面这个画面

这个就新建立的builder, Project->Build Project

出现大量的error: 'override' does not name a type错误, 这是由于NDK的版本太低了, override是C++11中才有的关键字, 而到NDKr10才支持C++11, 所以要升级NDK. 到官网去下载吧
不大, 400多M的样子, 更新完成之后, 看一下ndk\toolchains目录下面的编译器, 我的目录是下面这样子的

我很想使用clang来编译, 但是现阶段我还不会配置, 就用GCC吧, x86-4.6 & x86-4.8两个版本的GCC, 4.8的支持C++11
在Application.mk中添加一句NDK_TOOLCHAIN_VERSION = 4.8 就是指定使用GCC4.8来编译cocos2dx项目, 跑起来了, 下面是eclipse跑起来的console输出

跟命令行下执行cocos compile -p android 跑出来的是一样的, 都是在编译程序. 下面进入到在eclipse下面调试程序

㈤ 请问java转cocos2dx游戏开发的难度、学习曲线

风险肯定是有的~转过来又俩问题,一个是没做过游戏~整个游戏逻辑可能有问题~另一个是c++不熟悉,工程项目稍微大一点的话怕内存泄露~cocos2d-x肯定是用来做手机游戏的~万一有泄露可能整个程序直接崩了~主要怕这个

热点内容
安卓在哪里关闭云备份 发布:2024-11-28 10:49:55 浏览:558
数据在计算机中的存储 发布:2024-11-28 10:49:54 浏览:621
php二级分类 发布:2024-11-28 10:40:49 浏览:851
机顶盒主时钟同步服务器地址修改 发布:2024-11-28 10:40:43 浏览:333
androidstudio输出 发布:2024-11-28 10:36:20 浏览:591
华为手机的音乐在哪个文件夹 发布:2024-11-28 10:34:54 浏览:720
赛尔号万能脚本 发布:2024-11-28 10:34:44 浏览:629
逆战端游二级密码在哪里设置 发布:2024-11-28 10:28:18 浏览:867
如何才能知道妈妈的手机密码 发布:2024-11-28 10:28:15 浏览:456
linux连接sftp 发布:2024-11-28 10:25:47 浏览:460