Cocos2dxJavascriptJavaBridge 使用 java 調用執行javaScirpt代碼

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


 

發佈了181 篇原創文章 · 獲贊 48 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章