随笔分类 -  JSBinding+SharpKit

JSBinding+SharpKit / 菜单介绍
摘要:【JSB | Generate JS and CS Bindings】 生成绑定,即让 Js 和 Cs 互通。详情请看 JSBinding+SharpKit / 生成 JavaScript 绑定 【JSB | Add SharpKit JsType Attribute for all Structs 阅读全文

posted @ 2016-02-25 22:41 AnswerWinner 阅读(886) 评论(0) 推荐(0)

JSBinding + SharpKit / 编译 Cs 成 Js
摘要:轻轻一点菜单:【JSB | Compile Cs to Js】 主要产出:StreamingAssets/JavaScript/SharpkitGeneratedFiles.javascript,你的所有逻辑代码都在这里 其他产出: Temp/AllInvocations.txt:记录所有逻辑代码对 阅读全文

posted @ 2016-02-25 22:32 AnswerWinner 阅读(1329) 评论(0) 推荐(0)

JSBinding+SharpKit / 脚本加密(JSC或Bytecode,参考cocos2d-js)
摘要:现在已经可以编译JSC,目前只能在 Windows 下编译 JSC。这个功能是从 cocos2d-js 抄过来的,他应该也支持在Mac编译,但是我没有试过。菜单:JSB | Compile all JavaScript to Bytecode详细用法:待写,先自己看一下这个菜单的源代码吧,就没几句。... 阅读全文

posted @ 2015-08-31 09:13 AnswerWinner 阅读(1645) 评论(0) 推荐(0)

JSBinding+SharpKit / 更新的原理
摘要:首先,其实不是热更新,而是更新。热更新意思是不重启游戏,但只要你脚本里有存储数据,就不可能。所以只能叫更新。但大家都这么说,所以。。。先举个具体的例子:如果是C#:在 Prefab 的 GameObject 上绑定 C# 脚本,这个 Prefab 会被打包成 AssetBundle,然后通过 Ass... 阅读全文

posted @ 2015-08-14 10:14 AnswerWinner 阅读(2786) 评论(0) 推荐(0)

JSBinding+SharpKit / JavaScript调试
摘要:注意: 1 Firefox 的版本用41 2 我发现调试很难用的,现在我都用打印 步骤参考图: 注意事项: 开启调试时,C层会往 JavaScript 全局对象上添加几个函数 JS_DefineFunction(cx, global, "require", jsdebugger::executeSc 阅读全文

posted @ 2015-08-05 13:47 AnswerWinner 阅读(797) 评论(0) 推荐(0)

JSBinding / Memory Management (GC)
摘要:C# and JavaScript both have Garbage Collection (GC). They should not conflict with each other. Class type object Class is reference type. We maintain 阅读全文

posted @ 2015-07-30 21:54 AnswerWinner 阅读(381) 评论(0) 推荐(0)

JSBinding + SharpKit / 实战:转换 Stealth
摘要:这个例子相对简单,基本上一路顺畅// JSBindingSettings.classespublic static Type[] classes = new Type[] { typeof(PerTest), typeof(PerTest.RefObject), ... 阅读全文

posted @ 2015-07-30 10:09 AnswerWinner 阅读(367) 评论(0) 推荐(0)

JSBinding + SharpKit / 实战:转换 Survival Shooter
摘要:从 asset store 下载 Survival Shooter (商店里有2个版本,一种是给Unity5用的,一个是给Unity4.6用的,我们这个实验用的是后者,版本是2.2。如果) 1 删除多余的代码及文件夹 /Scripts/ <-- 因为没有用 /Scenes/ <-- 因为是空的 /A 阅读全文

posted @ 2015-07-29 21:51 AnswerWinner 阅读(795) 评论(0) 推荐(0)

JSBinding+SharpKit / MonoBehaviour替换成JSComponent原理
摘要:Unity 是基于组件式的开发,gameObject 身上可以绑定任意个脚本。每个脚本组成 gameObject 的一个部分。脚本里通过添加预定义好的函数来执行自己的任务。比如Awake,用于初始化,Update用于每帧更新,还有一些跟事件相关的函数。这些预定义的函数是由 Unity 引擎在适当的时... 阅读全文

posted @ 2015-07-23 23:55 AnswerWinner 阅读(359) 评论(0) 推荐(0)

JSBinding + SharpKit / JavaScript 加载流程
摘要:首先,现在的方案是游戏启动就加载全部的 JavaScript 代码。 先看下 StreamingAssets/JavaScript/ 文件夹下的目录结构: debug/:跟 JavaScript 调试有关的 JavaScript 代码,只有当开启调试的时候才需要加载。 Manual/:也是用于手写  阅读全文

posted @ 2015-07-16 17:51 AnswerWinner 阅读(1042) 评论(0) 推荐(0)

JSBinding + SharpKit / 常见问题
摘要:运行时出现:1 Return a "System.Xml.XmlIteratorNodeList" to JS failed. Did you forget to export that class?答:将这个类加入到 JSBindingSettings.classes 数组后运行一下菜单 JSB ... 阅读全文

posted @ 2015-07-15 09:43 AnswerWinner 阅读(909) 评论(0) 推荐(0)

JSBinding + SharpKit / Coroutine支持
摘要:首先得深入了解协程的原理。如果还没有完全理解,建议看这篇: http://wiki.unity3d.com/index.php/CoroutineScheduler 另外还要对 JavaScript 的 yield 有所了解,可以看 Mozilla 这篇文档: https://developer.m 阅读全文

posted @ 2015-07-12 15:46 AnswerWinner 阅读(1043) 评论(0) 推荐(0)

JSBinding + SharpKit / Important Notes
摘要:Serialization of List<T> is not supported. About menu: Assets | JSB | Add SharpKit JsType Attribute for all Structs and Classes If you execute this me 阅读全文

posted @ 2015-06-20 23:21 AnswerWinner 阅读(351) 评论(0) 推荐(0)

JSBinding + SharpKit / 原理篇:内存管理与垃圾回收
摘要:C# 和 JS 都有垃圾回收机制,需要保证 2 者能够分工协作。 类对象 类在C#中是引用类型。我们在 C# 中维护了2个map,保存 C# 对象和 JS 对象的一一对应关系。 举一个例子,看以下代码 从C#返回一个对象到 JS 以及后续的过程是这样的: 1) C# 获得一个表示JS对象的ID。 2 阅读全文

posted @ 2015-06-14 00:49 AnswerWinner 阅读(769) 评论(0) 推荐(0)

JSBinding + SharpKit / 原理篇:Delegate
摘要:以 NGUI 的 UIEventListener 为例: 有一个类: 这个类有一个 public UIButton btn; 变量,可以在 Inspector 里赋值。我们用这个类来响应 btn 的点击事件。重点就是第12行。 生成的JS如下: 看 JS代码 第14行,将 onClick 赋值为 $ 阅读全文

posted @ 2015-06-11 10:08 AnswerWinner 阅读(1167) 评论(0) 推荐(0)

JSBinding + SharpKit / SharpKit 工作原理
摘要:暂时没空写 阅读全文

posted @ 2015-05-08 13:32 AnswerWinner 阅读(326) 评论(0) 推荐(0)

JSBinding + SharpKit / 初体验:下载代码及运行Demo
摘要:QQ群:已废 以下是群主维护的JSB版本: git地址:https://github.com/qcwgithub/qjsbunitynew.git插件源码地址(不包含SpiderMonkey源代码):https://github.com/qcwgithub/qjsbmozillajswrap.git 阅读全文

posted @ 2015-05-07 22:12 AnswerWinner 阅读(2776) 评论(4) 推荐(0)

JSBinding + SharpKit / 需要注意及不支持的列表
摘要:1) 序列化不支持 public List<T>,其余都支持(JSBinding+Bridge无此功能) 2015年11月5日 补充:序列化只处理 Field。目前发现 AnimationCurve 可以在编辑器里编辑,不过他没有 Field,全是 Property,所以不支持,正在想办法 1 1 阅读全文

posted @ 2015-05-05 11:44 AnswerWinner 阅读(1950) 评论(0) 推荐(0)

JSBinding + SharpKit / 使用 Firefox 调试 JS
摘要:已经准备好,google打不开,等打开了再贴图上来 阅读全文

posted @ 2015-05-05 10:17 AnswerWinner 阅读(200) 评论(0) 推荐(0)

JSBinding + SharpKit / 实战:转换 2DPlatformer
摘要:最后修改:2015年07月29日 2016年2月25日 2DPlatformer 是 Unity3D 的一个官方 Demo。本文将介绍使用 JSBinging + SharpKit 转换 2DPlatformer 的过程。 本文并不详细介绍每个步骤的细节。因为他们将在其他文章里做详细介绍。 准备工作 阅读全文

posted @ 2015-05-04 21:24 AnswerWinner 阅读(1830) 评论(0) 推荐(0)

导航