unity加載dll庫的學習筆記

        前段時間看了一下unity加載dll庫的相關東西,正好看到一遍文章,看完後也總結了一下也寫了代碼。        

        項目是MMO手遊,目標平臺是AndroidiOSiOS平臺不能動態加載dll,可以直接忽略,而在Android平臺是可以動態加載dll的,有了這個就可以實現代碼更新,不過實際上,在unity裏要用上動態加載dll是有很多限制的。

        限制1:在Android手機裏動態加載dll不能使用Assembly.LoadFile(string path),只能使用Assembly.Load(byte[] rawAssembly)這個接口,所以要自己想辦法先讀出來。 

        限制2:動態加載的腳本不能在編輯器裏掛在prefab上。

        限制3:如果腳本在動態dll裏,調用AddComponent()掛此腳本上prefab上時不能使用AddComponent(“SomeScript”)的方式調用,要用AddComponent(Type.GetType(“SomeScript”))

        限制4:在動態dll裏使用[RequireComponent(typeof(SomeScript))]無效,所以不能使用。

        這也是文章裏提到的遇到的一些坑。

既然有這麼坑換dll,我參與的unity項目裏也都一致的更換了ulua,lua代碼靈活性高,現在又有專門的IDE,可以打斷點哦,這tm對於調試腳本語言來說就是一個福利啊,所以更換DLL的做法感覺有點過時了,當然是針對中國市場,我一直以來很看好lua這個語言,無論從我做2d還是3d都用過。

        我雖然做遊戲年頭並不是特別長,但是我覺得針對前端開發者來說,吃透一門強類型語言和一門腳本是必須的,還有針對手遊的前端,吃透一個移動平臺也是必須的,比如安卓或者ios。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章