org.cocos2dx.lib 下有
Cocos2dxJavascriptJavaBridge.java 使用此方法可以 调用js里的代码
String command = "cc.eventManager.dispatchCustomEvent('" + js
+ "','" + para + "' )";
Log.i("command", command);
org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge
.evalString(command);
}
这样在js 代码里注册监听cc.eventManager.dispatchCustomEvent事件就可以 执行到js代码中了
Android JAVA端与Cococ2d-x C++端交互还需要runOnGLThread 方法
Cocos2dxHelper.runOnGLThread((new Runnable() {
public void run() {}
})
下面是Cocos2dxJavascriptJavaBridge.java内容
package org.cocos2dx.lib;
public class Cocos2dxJavascriptJavaBridge {
public static native int evalString(String value);
}
完整的代码 封装的一个方法
public static void RunJS(String name, String param)
{
Cocos2dxHelper.runOnGLThread((new Runnable() {
String js;
String para;
@Override
public void run() {
// TODO Auto-generated method stub
Log.i("runJs-event", "js:" + js);
Log.i("runJs-para", "para:" + para);
String command = "cc.eventManager.dispatchCustomEvent('" + js
+ "','" + para + "' )";
Log.i("command", command);
org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge
.evalString(command);
}
public Runnable setjs(String js, String pa) {
this.js = js;
this.para = pa;
return this;
}
}).setjs(name, param));
}