jsb模式下是通过打包spidermonkey来运行JS代码的。由于JS是一个解释型的语言,所以是把js当作assets直接拷贝进去的。带来的问题就是将apk包解压后就可以直接拿到js的源代码。
幸好官方出了一个cocos2d-console的工具,通过该工具可以将js编译为字节码。该工具在官方发布包的tools目录下。
那如何在发布的时候自动
你是说把C#可以使用js方法,或者说是把js的方法转成C#的方法么?首先你要新建一个js,把js方法拷贝过来
然后利用.net自带的编译程序。给你举个例子,加入我C盘下有个文件,内容是
public class JS
{
public static function Test(a)
{
return a+1
}
}
然后选择开始->程序->Visiual Stdio->Visiual Stdio Tool->命令提示符工具
然后输入(以我的为例)
C:\Program Files\Microsoft Visual Studio 10.0\VC>jsc /t:library c:\js.js
这句就是把C盘下的js.js编译成.net的dll,
生成的目录在(以我的为例)
C:\Program Files\Microsoft Visual Studio 10.0\VC下面。
你在程序里引用一下该dll,同时引用一下MicroSoft.JScript。
然后在程序里,你应该可以有这样一个方法
JS.Test(object a),传一个参数进去,就能返回 结果。
记住:
1,JS的方法外面必须包含(public class JS)类,这个JS你随便取。
2,JS的所有方法前面必须加入public static,否则引用不到。