• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    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
    • 閱讀 ( 1106 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    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 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆