JSBinding+SharpKit / 脚本加密(JSC或Bytecode,参考cocos2d-js)
现在已经可以编译JSC,目前只能在 Windows 下编译 JSC。这个功能是从 cocos2d-js 抄过来的,他应该也支持在Mac编译,但是我没有试过。
菜单:JSB | Compile all JavaScript to Bytecode
详细用法:待写,先自己看一下这个菜单的源代码吧,就没几句。
一些说明:
---------------------------------------------------------------------
首先,编译 JSC 使用的是 SpiderMonkey 33 的版本 (mozjs-33.dll)。编译过程的一个重要步骤是调用函数 JS_EncodeScript。与其对应,也应该使用 mozjs-33 的 JS_DecodeScript 来解开 JSC。
现在 JSB 的版本库里,
| 平台 | 版本 |
| Windows | mozjs-31 |
| Mac | mozjs-31 |
| Android | mozjs-33 |
| iOS | mozjs-33 |
由于在 Windows 和 Mac 下是 mozjs-31,所以无法使用编译好的 JSC。
为什么 JSB 里 Windows 和 Mac 下 mozjs 的版本是 31 呢?
cocos 提供的 Windows 和 Mac mozjs-33 只有 32位 版本的,而 Unity 5 却有64位版本的,为了不让64位用户失望,只好自己编译 64 位的库了。
而我从 SpiderMonkey 官网上下载到的只有 31 版本的源代码。
可能会这么改:
Plugins/x86/ 下使用 mozjs-33
Plugins/x86_64/ 下使用 mozjs-31
JSBinding+SharpKit / 脚本加密(JSC或Bytecode,参考cocos2d-js)的更多相关文章
- Unity代码热更新方案 JSBinding + SharpKit 首页
目前Unity的代码更新方案有很多,主要以lua为主. JSBinding + SharpKit 是一种新的技术,他做了两件事情: JSBinding将C#导出到 JavaScript (引擎是 Mo ...
- JSBinding+SharpKit / 菜单介绍
- JSBinding+SharpKit / 更新的原理
首先,其实不是热更新,而是更新. 热更新意思是不重启游戏,但只要你脚本里有存储数据,就不可能.所以只能叫更新. 但大家都这么说,所以... 先举个具体的例子: 如果是C#:在 Prefab 的 Gam ...
- JSBinding + SharpKit / 实战:转换 Survival Shooter
从 asset store 下载 Survival Shooter (商店里有2个版本,一种是给Unity5用的,一个是给Unity4.6用的,我们这个实验用的是后者,版本是2.2.如果) 1 删除多 ...
- JSBinding + SharpKit / 需要注意及不支持的列表
1) 序列化不支持 public List<T>,其余都支持(JSBinding+Bridge无此功能) 2015年11月5日 补充:序列化只处理 Field.目前发现 Animation ...
- JSBinding + SharpKit / 实战:转换 2DPlatformer
最后修改:2015年07月29日 2016年2月25日 2DPlatformer 是 Unity3D 的一个官方 Demo.本文将介绍使用 JSBinging + SharpKit 转换 2DPlat ...
- Unity Mono脚本 加密
加密环境 引擎版本:Unity3D 5.3.4 及更高版本 (使用Mono而并非IL2CPP) 操作系统:CentOS 6.2(Final) 加密环境:Android.IOS(暂定) 加密对象:C#源 ...
- JSBinding + SharpKit / 编译 Cs 成 Js
轻轻一点菜单:[JSB | Compile Cs to Js] 主要产出:StreamingAssets/JavaScript/SharpkitGeneratedFiles.javascript,你的 ...
- JSBinding+SharpKit / JavaScript调试
注意: 1 Firefox 的版本用41 2 我发现调试很难用的,现在我都用打印 步骤参考图:
随机推荐
- Android pulltorefresh使用
pulltorefresh插件可以轻松实现上拉下拉刷新,github.com上直接搜索进行下载. 布局文件: <RelativeLayout xmlns:android="http:/ ...
- MyBatis中#,$的用法区别
#可以防止SQL注入 $用在一些特殊的SQL语句例如 order by ${...} , desc/asc PS:大部分用#,一些特殊情况用$
- windows添加虚拟网卡
- iframe 内显示的网页 只显示改网页的某一部分!
使用iframe调用指定网页的特定位置(显示目标网页某区域的我想要的内容) 有些时候我们并不需要显示iframe标签属性src指定的目标网页的所有内容,往往只需要显示某一特定区域.现有两种实现方法提供 ...
- iOS开发拓展篇—音频处理(音乐播放器4)
iOS开发拓展篇—音频处理(音乐播放器4) 说明:该文主要介绍音乐播放器实现过程中的一些细节控制. 实现的效果: 一.完整的代码 YYPlayingViewController.m文件 // // Y ...
- MySQL:日期函数、时间函数总结
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...
- nodejs gulp less编辑
nodejs 下载地址:http://pan.baidu.com/s/1bnz2oPp 提取密码:0mip 1.最简单的编译less 在安装好nodejs后,cmd 进入控制台 安装 lessc : ...
- cocos2d-x 的两大基类
cocos2d-x 有两个重要的基类,一个管理引用计数的 Ref,别一个则定义许多基本属性的 Node. 在 cocos2d-x 中的基本概念 说到 create 函数的时候提到 cocos2d-x ...
- Linux Shell 脚本入门
linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...
- css浏览器窗口大小
Window 尺寸 有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条). 对于Internet Explorer.Chrome.Firefox.Opera 以及 Safari: ...