Unity3D呼叫.DLL檔案
阿新 • • 發佈:2019-02-07
首先我們自己動手建立一個.DLL檔案
工具:VS(VS2013)、Unity(Unity5.2.2)
一.開啟VS,新建專案
選擇Wint32控制檯應用程式
選擇DLL和空專案
右鍵點選新增類
在這裡類命名為CallByUnity,點選確定,將生成CallByUnity.h和CallByUnity.cpp
在CallByUnity.h中修改程式碼為如下圖:
#if defined (EXPORTBUILD) # define _DLLExport __declspec (dllexport) # else # define _DLLExport __declspec (dllimport) #endif extern "C" int _DLLExport AddNumber(int x,int y);
在CallByUnity.cpp中修改程式碼為如下圖:
CallByUnity.cpp
#define EXPORTBUILD
//載入標頭檔案
#include "CallByUnity.h"
//設定函式
int _DLLExport AaaNumber(int x,int y)
{
return x+y;
}
此時執行程式,將生成HelloWord.DLL檔案
注意:
如果執行VS後發現報錯,將可能是預編譯巨集有問題
右鍵點選專案->屬性->預編譯巨集->編輯->新增“EXPORTBUILD”
二.開啟Unity
在Assert目錄下新增一個檔案固定命名為“Plugins”(plugin外掛意思)
將上一步生成的.dll檔案新增到裡面
新增一個C#指令碼,這裡命名為HelloUnity
HelloUnity.cs
using UnityEngine; using System.Collections; using System.Runtime.InteropServices; public class NewBehaviourScript : MonoBehaviour { //匯出.dll檔案函式 [DllImport ("DLL")] private static extern int AddNumber(int x,int y); int i = AddNumber(5,7); void OnGUI() { GUI.Button(new Rect(1,1,200,100),"i value is '"+i+"'"); } }
執行後將在顯示值為12
注意:
在打包時候如果執行儲存,在打包目錄下新增Plugins目錄,再將.dll檔案放進去
本人也在尋找一份遊戲開發實習工作,如果大佬們需要開發人員,請把我帶走
作品的話可以私聊我哦!