原址:http://blog.sina.com.cn/s/blog_9afc14d001018og9.html
Unity3D 能够很方便的集成一些外部插件,以便调用现有的动态链接库。下面会介绍Unity中如何集成Dll的两种方法。
1. 标准引用
这里所使用的语言是C#。
1.1
1.2
以上是一个简单的测试代码。
1.3
如果选择的是4.0版会出现
Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.
错误。
1.4
1.5
1.6
1.7
2. Unity的方案
官网指出,Unity已经广泛支持基于C,C++或者Objective-C语言的插件。原文说明http://docs.unity3d.com/Documentation/Manual/Plugins.html 以下示例可从官网获得,下载示例代码http://docs.unity3d.com/Documentation/Images/manual/SimplestPluginExample.zip
2.1
2.2
注意:在[DllImport ("ASimplePlugi")] 参数中不要加入 .dll 后缀。
2.3
---------------------------------------------- fen ge xian ------------------------------------------------
转载请著名出处:http://oulehui.blog.163.com/blog/static/79614698201011835819382/
JS用法
import System;
import System.Runtime.InteropServices;
@DllImport("user32.dll")
public static function MessageBox(Hwnd : int,text : String,Caption : String,iType : int) : int {};
function Start()
{
MessageBox(0, "API Message Box", "Win32 API", 64) ;
}
function Update () {
}
补充C#用法
C文件
float FooPluginFunction () { return 5.0F; }
将DLL放在 Assets->Plugins文件夹中,文件夹自己建立
C#脚本
using UnityEngine;
using System.Runtime.InteropServices;
class SomeScript : MonoBehaviour {
}