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));
}