JSBinding+SharpKit / 更新的原理

首先,其实不是热更新,而是更新。

热更新意思是不重启游戏,但只要你脚本里有存储数据,就不可能。所以只能叫更新。

但大家都这么说,所以。。。

 

先举个具体的例子:

如果是C#:在 Prefab 的 GameObject 上绑定 C# 脚本,这个 Prefab 会被打包成 AssetBundle,然后通过 AssetBundle.Load 加载到游戏中。

因为C#本身不可能更新,所以就无法修改。

JSB的方案是,将这些 C# 的 MonoBehaviour 都替换成 JSComponent_xxx。这些 JSComponent_xxx 是固定不变的,不需要更新,他负责将所有的事件都转交给JS去处理。

那么就可以通过更新JS来达到更新程序的目的。

 

 

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

posted on 2015-08-14 10:14  AnswerWinner  阅读(2778)  评论(0编辑  收藏  举报

导航