unity 熱更新 c# 實戰經驗分享(二) - 動態Protobuff協議,再也不用擔心為了換條協議換包了 ~~!


 先提前說明一下,如果哪位小伙伴 覺得生疏的話,可以看這篇博客的前面兩個博客,里面講述了 高大上 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,我們等你奧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM