JSBinding + SharpKit / 生成JavaScript绑定

将 UnityEngine 的代码导出到 JavaScript。就可以在 JavaScript 中使用 Unity 的功能。

 

如何导出?

将需要导出的类添加到 JSBindingSetting.classes 数组中,然后运行菜单 【JSB | Generate JS and CS Bindings】 即可。

建议是把 UnityEngine.dll 的所有类全部写进去,一次性全部导出,以后就不需要再逐个添加了。

不过以后真正运用到项目中,可能需要各自维护,因为每个项目的需求可能不同。

以后会考虑再增加反射调用,如果说游戏发布了,又需要用到之前没有导出的类,就会有用。

 

(这边是举例子 只添加一小部分类)

//
// JSBindingSettings.cs
//
    public static Type[] classes = new Type[]
    {
         typeof(System.Diagnostics.Stopwatch),
         typeof(Vector2),
         typeof(Vector3),
         typeof(GameObject),
         typeof(UnityEngine.Object),
         typeof(UnityEngine.MonoBehaviour),
         typeof(UnityEngine.Behaviour),
         typeof(UnityEngine.Component),
         typeof(Debug),
         typeof(Input),

         // .........
    }

 

点击如下菜单可以自动生成JS绑定:

 

生成完成后,会生成2部分代码。

一部分是 C# 代码,在文件夹 Assets/JSBinding/Generated/ 中(是由 JSBindingSettings.csGeneratedDir 变量指定的。可自行修改)

如下所示

 

另一部分是JS代码,这部分代码都在这个文件里面,(接近1M):

StreamingAssets/JavaScript/GeneratedFiles.javascript

当 JS 引擎启动时会加载这个文件。

 

返回:Unity代码热更新方案 JSBinding + SharpKit 首页

posted on 2015-05-04 21:06  AnswerWinner  阅读(1832)  评论(0编辑  收藏  举报

导航