Cocos Creator 教程:JSB2.0反射js代码

由于之前使用版本是1.4.0来开发游戏,当把升级到1.9.1时。发布原生平台时,发现与1.4有很大的不同。原因是从 v1.7 开始引入 JSB 2.0 ,其中js代码反射原生还没什么问题。当原生反射到js函数时就会出问题了。下面就讲解下如何在v1.7以后的版本中使用原生函数反射js代码。

image

Android平台

在v1.6以前可以直接使用:

Cocos2dxJavascriptJavaBridge.evalString("你的代码");

v1.7以后只能用以下方式:

 Cocos2dxHelper.runOnGLThread(new Runnable() {
      @Override
      public void run() {
			Cocos2dxJavascriptJavaBridge.evalString("你的代码");
	        }
});

ios平台

在v1.6以前是引入#include “ScriptingCore.h”,然后使用以下方法:

//引入头文件
#include "ScriptingCore.h"
//使用
ScriptingCore::getInstance()->executeString("你的代码");

到了v1.7以后,JS 引擎的管理从 ScriptingCore 被移动到了 se::ScriptEngine 类中。于是变成下面方式:

//引入头文件
#include "cocos/scripting/js-bindings/manual/ScriptingCore.h"
#include "cocos/scripting/js-bindings/jswrapper/SeApi.h"
//使用
se::ScriptEngine* se = se::ScriptEngine::getInstance();
se->evalString("你的代码");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章