Unity C#代码封装dll文件完美教程

2025-11-18 10:34:36

1、DLL (Dynamic Link Library) —— 中文:动态链接库

我们 Windows 系统中就有着海量的 dll文件

当多个程序同时使用一个函数库时, DLL 即减少在磁盘和物理内存中加载的代码的重复量,同时也提高了响应速度

好处: 1. 程序在运行之初无需加载所有代码,只有在程序执行到某个函数调用时,才从 DLL 中取出 2. 使用 DLL 文件还可以减小程序的体积 3. 封装好的 DLL 文件,由于函数已经封装到 DLL 文件中,不会变更。所以编辑器不会对我们的 DLL 进行编译,而是直接运行,程序执行需要时调用的

许多大神,或是插件开发者,都是将代码封装为 DLL ,并加密。

这样既提高了运行效率,也保证了代码的基本安全性,不被他人看到

而本教程,就是教大家讲自己写的通用代码/需要的代码,封装为 DLL 文件,导入项目即可调用使用

下面就跟着 Chinar 来完成操作吧!

2、Create Library —— 创建库

以 Visual Studio 2017 为例

打开 VS 2017 新建一个项目:文件→→新建→→项目

选择 Visual C# 类库 (.NET Framework)

框架版本不用在意,我们后边再改

因为 Unity 当前只支持最高 3.5版本 

Unity C#代码封装dll文件完美教程

3、Add code —— 添加代码

注意1: 所有我们需要通过 dll 调用的函数,都需要设为 公有(public static)

注意2: 如果想要调用 Unity的API ,就需要导入 Unity 中的2个 DLL 到库中

先找到这两个 必要的 dll文件

Unity C#代码封装dll文件完美教程

4、然后在我们VS库项目中,完成对它们的引用添加

Unity C#代码封装dll文件完美教程

5、这样程序才能访问到我们 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>");

        } 

    }

}

6、Configuration generated  —— 配置生成

在解决方案中,右键项目→→属性,打开设计界面

Unity 需要输出 3.5版本,及以下版本的dll

根据需求选择,这里我选择的是:Unity 3.5 .net full Base Class Libraries

完成设置后,保存。右键解决方案→→生成解决方案

Unity C#代码封装dll文件完美教程

7、Find dll —— 找到我们生成的dll文件

生成后,找到我们的 dll 文件

文件在我们库项目中的 bin/Debug 目录下

另外生成项目的输出界面也会列出路径位置

Unity C#代码封装dll文件完美教程

Unity C#代码封装dll文件完美教程

8、Import Unity —— 导入到Unity

将 dll  文件,导入到 Unity 中即可使用

注意:Unity 2017.3版本后,库文件需要放在 Plugins文件夹下,才可以正常启用

没有  Plugins   文件夹,就自己新建一个

然后,我们写一个脚本  TestDll ,测试调用我们的 dll   中的函数,打印输出

1.导入到 Unity 项目中

Unity C#代码封装dll文件完美教程

9、测试脚本,用来测试我们封装的DLL效果

Unity C#代码封装dll文件完美教程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:113
  • 阅读量:131
  • 阅读量:141
  • 阅读量:109
  • 阅读量:80
  • 猜你喜欢