首先了解下使用DLL的優勢,程序運行時不用加載所有代碼,只有運行到引用時,才從DLL庫中取出。並且使用DLL文件還可以減小程序體積,封裝好的DLL文件,由於函數已經封裝到DLL文件中,防止意外變更。所以編譯器不會對我們的 DLL 進行編譯,而是直接運 行,程序執行需要時調用的,許多搞插件開發的,都是將代碼封裝為 DLL ,並加密。這樣既提高了運行效率,也保證了代碼的基本安全性。
創建DLL
1.創建庫
以 為例
打開 Visual Studio 2015(我用的vs2015),新建項目:文件→→新建→→項目,選擇 Visual C# 類庫 (.NET Framework)


我這里將命名空間改為MyDLL。隨意!
2.下面添加代碼:
添加代碼注意:
a.所有需要通過 dll 調用的函數,訪問修飾符都需要設為公有即public static
b.若想要調用 Unity的API ,就需要導入 Unity 中的2個 DLL 到庫中
導入UnityAPI所需兩個DLL:
1.先找到這兩個DLL文件:

添加引用
方式1:

方式2:
右鍵引用

點擊瀏覽,根據剛才找到庫文件的路徑

添加即可。這樣程序才能訪問到我們DLL庫中的函數了。
添加測試函數
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading;
6 using UnityEditor;
7 using UnityEngine;
8 namespace MyDLL
9 {
10 public class Class1
11 {
12 /// <summary>
13 /// 加法運算
14 /// </summary>
15 /// <param name="a"></param>
16 /// <param name="b"></param>
17 /// <returns></returns>
18 public static int Addition(int a,int b) {
19 return a + b;
20 }
21 /// <summary>
22 /// 乘法運算
23 /// </summary>
24 /// <param name="a"></param>
25 /// <param name="b"></param>
26 /// <returns></returns>
27 public static int Multiplication(int a, int b)
28 {
29 return a * b;
30 }
31 /// <summary>
32 /// 減法運算
33 /// </summary>
34 /// <param name="a"></param>
35 /// <param name="b"></param>
36 /// <returns></returns>
37 public static int Subtraction(int a, int b)
38 {
39 return a - b;
40 }
41
42 }
43 }
3.配置生成解決方案
在解決方案中,右鍵項目選擇屬性,打開設計界面--應用程序,Unity需要輸出 3.5版本及以下版本的dll



保存-》右鍵解決方案-》生成解決方案,或者

4.找到生成的DLL
生成后,找到我們的DLL文件,文件在我們庫項目中的 bin/Debug 目錄下
我的文件:

5.調用創建的DLL文件
將找到的自己創建的DLL文件放入Unity的Plugins文件夾下(這里要注意的是Unity 2017.3版本后,庫文件需要放在 Plugins文件夾下,才可以正常啟用,在這里我是vs2015,無所謂)
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class DLLtext : MonoBehaviour {
6
7 void Start () {
8 Debug.Log(MyDLL.Class1.Addition(1, 2));
9 Debug.Log(MyDLL.Class1.Multiplication(3, 2));
10 Debug.Log(MyDLL.Class1.Subtraction(4, 2));
11 }
12 }
打印結果:


