本文供給全流程,中文翻譯。
Chinar 對峙將簡單的糊口體例,帶給宿世人!
助力快速完當作 Unity C#劇本文件封裝為 DLL 庫文件
DLL (Dynamic Link Library) —— 中文:動態鏈接庫
我們 Windows 系統中就有著海量的 dll文件
當多個法式同時利用一個函數庫時, DLL 即削減在磁盤和物理內存中加載的代碼的反復量,同時也提高了響應速度
益處: 1. 法式在運行之初無需加載所有代碼,只有在法式執行到某個函數挪用時,才從 DLL 中掏出 2. 利用 DLL 文件還可以減小法式的體積 3. 封裝好的 DLL 文件,因為函數已經封裝到 DLL 文件中,不會變動。所以編纂器不會對我們的 DLL 進行編譯,而是直接運行,法式執行需要時挪用的
很多年夜神,或是插件開辟者,都是將代碼封裝為 DLL ,并加密。
如許既提高了運行效率,也包管了代碼的根基平安性,不被他人看到
而本教程,就是教大師講本身寫的通用代碼/需要的代碼,封裝為 DLL 文件,導入項目即可挪用利用
下面就跟著 Chinar 來完當作操作吧!
Create Library —— 建立庫
以 Visual Studio 2017 為例
打開 VS 2017 新建一個項目:文件→→新建→→項目
選擇 Visual C# 類庫 (.NET Framework)
框架版本不消在意,我們后邊再改
因為 Unity 當前只撐持最高 3.5版本
Add code —— 添加代碼
注重1: 所有我們需要經由過程 dll 挪用的函數,都需要設為 公有(public static)
注重2: 若是想要挪用 Unity的API ,就需要導入 Unity 中的2個 DLL 到庫中
先找到這兩個 需要的 dll文件
然后在我們VS庫項目中,完當作對它們的引用添加
如許法式才能拜候到我們 dll 庫中的函數
用于測試:我們在劇本中添加一個函數
(可選):這里我對默認類名 class1 點竄為 Chinar ,可按照本身愛好點竄類名即可
最好在解決方案中完當作重定名操作,否則類名改了,解決方案中并沒有被點竄!
代碼如下:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using UnityEngine;
namespace ChinarLib
{
public class Chinar
{
/// <summary>
/// 對兩個整數相加
/// </summary>
/// <param name="parameter1">參數1</param>
/// <param name="parameter2">參數2</param>
/// <returns>兩個數之和</returns>
public static int Addition(int parameter1, int parameter2)
{
return parameter1 + parameter2;
}
/// <summary>
/// 字符串拼接
/// </summary>
/// <param name="parameter1">參數1</param>
/// <param name="parameter2">參數2</param>
/// <returns>拼接后的字符串</returns>
public static string Splice(string parameter1, string parameter2)
{
return parameter1 + parameter2;
}
/// <summary>
/// 輸出文本 —— 顏色:綠色
/// </summary>
/// <param name="parameter">字符串</param>
public static void Print(string parameter)
{
UnityEngine.Debug.Log($"<b><color=lime><size={12}>{parameter}</size></color></b>");
}
}
}
Configuration generated —— 設置裝備擺設生當作
在解決方案中,右鍵項目→→屬性,打開設計界面
Unity 需要輸出 3.5版本,及以下版本的dll
按照需求選擇,這里我選擇的是:Unity 3.5 .net full Base Class Libraries
完當作設置后,保留。右鍵解決方案→→生當作解決方案
Find dll —— 找到我們生當作的dll文件
生當作后,找到我們的 dll 文件
文件在我們庫項目中的 bin/Debug 目次下
別的生當作項目標輸出界面也會列出路徑位置
Import Unity —— 導入到Unity
將 dll 文件,導入到 Unity 中即可利用
注重:Unity 2017.3版本后,庫文件需要放在 Plugins文件夾下,才可以正常啟用
沒有 Plugins 文件夾,就本身新建一個
然后,我們寫一個劇本 TestDll ,測試挪用我們的 dll 中的函數,打印輸出
1.導入到 Unity 項目中
測試劇本,用來測試我們封裝的DLL結果
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!