1. 程式人生 > >Unity3D呼叫.DLL檔案

Unity3D呼叫.DLL檔案

首先我們自己動手建立一個.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檔案放進去

本人也在尋找一份遊戲開發實習工作,如果大佬們需要開發人員,請把我帶走奮鬥

作品的話可以私聊我哦!