前段時間看了一下unity載入dll庫的相關東西,正好看到一遍文章,看完後也總結了一下也寫了**。
專案是mmo
手遊,目標平台是
android
和ios
,ios
平台不能動態載入
dll,可以直接忽略,而在
android
平台是可以動態載入
dll的,有了這個就可以實現**更新,不過實際上,在
unity
裡要用上動態載入
dll是有很多限制的。
限制1:在android
手機裡動態載入
dll不能使用
assembly.loadfile(string path)
,只能使用
assembly.load(byte rawassembly)
這個介面,所以要自己想辦法先讀出來。
限制2prefab上。
限制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。
Unity中呼叫DLL庫
dll dynamic link library 動態鏈結庫檔案 這裡以window平台為例。unity支援的兩種語言生成的dll庫 c c 這裡以c 為例,c 網上可以搜尋很詳細的資料。1 新增引用關係 如果有對unityengine unityeditor的引用,需要先新增引用關係。路徑通常位於...
unity如何除錯dll庫檔案
首先,除錯這個dll檔案,必須在本地有工程 並且安裝visual studio tools for unity 這是前提。我是在visual studio 2015中進行除錯的。然後開啟unity中需要除錯的指令碼檔案,在解決方案中新增外部工程,也就是你要進行除錯的工程。新增進來後,滑鼠右鍵該工程,...
動態鏈結庫DLL的載入
程式設計師的自我修養 鏈結 裝載與庫 學習筆記 dll,即動態鏈結庫 dynamic link library 在實際應用開發過程中,為了以後對已經開發好的軟體程式進行更好的維護和管理,程式的模組化是乙個很好的管理方法,程式設計師大都喜歡把某一模組的功能做成dll檔案,然後匯入到工程目錄中,再進行載...