先提前說明一下,如果哪位小伙伴 覺得生疏的話,可以看這篇博客的前面兩個博客,里面講述了 高大上 JSB,unity 熱更新方案,用強大的宇宙第一編輯器vs 來開發 unity 熱觀更新腳本,更新c# 不在是夢
這次的demo 工程我已經長傳了,地址 在這里http://pan.baidu.com/s/1qWQlXUW;下載后(放在D盤 放在D盤 放在D盤!!!!)里面的unity 工程直接打開然后運行main 場景 。就會出現下圖,這篇博客唯一 的意義就在於這個demo,實戰就是實戰不跟你講廢話,不講理論,直接來可以運行的版本
為什么要熱更新Protobuff?
原因 :可以 在服務器面前裝逼說 ,你們換網絡協議不用換游戲包 ~~! 你們丑,你們換個協議還要停服.....
怎么做?
怎么去做,這個問題,我還是強烈建議去百度雲盤下載的demo 工程,點開就直接運行,我在這里會嚴格的按照那個demo 來說
步驟1:建立熱更新工程 ,如何創建不懂的小伙伴,可以看前篇,創建好之后如圖。之后放入我寫好的腳本
步驟2:在unity工程里面執行 寫好實驗用的腳本
上面代碼的意思就是去執行
這個函數,是不是非常的簡單??
,這套東西核心采用了 https://github.com/dcodeIO/ProtoBuf.js ,然后用includes .js 引進過來
之后用ProtoBufferWrap .cs 包裝成c# ,以供 c# 上層使用
注意事項
1,js 里面的數字和 c# 里面的long不是相等的,這是語言導致的,不是protobuff 的問題。ProtoBuf.js 本身做了處理,自己定義了js的long 在long_min 里面
2,decode 出來的 object 強制轉換之后的 對象,里面是沒有函數的,在整套jsb 體系中只有new出來的對象才會有函數
最后歡迎到來JSB qq群:189738580,我們等你奧