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

本文供给全流程,中文翻译。

Chinar 对峙将简单的糊口体例,带给宿世人!

助力快速完当作 Unity C#剧本文件封装为 DLL 库文件

东西/原料

  • VS2017
  • Unity3D

方式/步调

  1. 1

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

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

    当多个法式同时利用一个函数库时, DLL 即削减在磁盘和物理内存中加载的代码的反复量,同时也提高了响应速度

    益处: 1. 法式在运行之初无需加载所有代码,只有在法式执行到某个函数挪用时,才从 DLL 中掏出 2. 利用 DLL 文件还可以减小法式的体积 3. 封装好的 DLL 文件,因为函数已经封装到 DLL 文件中,不会变动。所以编纂器不会对我们的 DLL 进行编译,而是直接运行,法式执行需要时挪用的

    很多年夜神,或是插件开辟者,都是将代码封装为 DLL ,并加密。

    如许既提高了运行效率,也包管了代码的根基平安性,不被他人看到

    而本教程,就是教大师讲本身写的通用代码/需要的代码,封装为 DLL 文件,导入项目即可挪用利用

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

  2. 2

    Create Library —— 建立库

    以 Visual Studio 2017 为例

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

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

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

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

  3. 3

    Add code —— 添加代码

    注重1: 所有我们需要经由过程 dll 挪用的函数,都需要设为 公有(public static)

    注重2: 若是想要挪用 Unity的API ,就需要导入 Unity 中的2个 DLL 到库中

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

  4. 4

    然后在我们VS库项目中,完当作对它们的引用添加

  5. 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. 6

    Configuration generated  —— 设置装备摆设生当作

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

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

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

    完当作设置后,保留。右键解决方案→→生当作解决方案

  7. 7

    Find dll —— 找到我们生当作的dll文件

    生当作后,找到我们的 dll 文件

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

    别的生当作项目标输出界面也会列出路径位置

  8. 8

    Import Unity —— 导入到Unity

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

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

    没有  Plugins   文件夹,就本身新建一个

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

    1.导入到 Unity 项目中

  9. 9

    测试剧本,用来测试我们封装的DLL结果

  • 发表于 2018-10-08 00:00
  • 阅读 ( 1102 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具