Unity3D学习笔记10:Unity调用DLL
来源:互联网 发布:淘宝一元秒杀是真的吗 编辑:程序博客网 时间:2024/06/06 01:39
在Unity3D的项目开发过程中,可能会使用一些以前别人写好的C#,Java,C++等文件,我们可以把它们做成动态链接库DLL文件在项目中进行调用,下面用一个简单的例子来说明怎么制作一个DLL文件并在Unity中使用它。
首先新建一个Unity3D工程,我们命名为"Test",创建一个C#文件,命名为“DLLTest”,文件代码如下所示:
using UnityEngine;using System.Collections;public class DLLTest : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}public void Fun(){print("Hello World !");}}
我们只是添加了一个公有函数“Fun”,函数的功能是输出“Hello World !”,然后我们把“DLLTest”文件复制出来,先暂时放在桌面即可。这时可以把Unity3D工程中的“DLLTest”文件删掉了。
接下来在MonoDevelope中新建一个Solution,即重新建立一个解决方案,命名为“MyTest”,并放在D盘的Projects文件夹,方便以后找到它。步骤是点击File-->New-->solution..,选择C#选项卡下面的Library,然后填写项目名称和选择存放地址,如下图所示:
点击OK,然后把我们之前放在桌面上的“DLLTest”C#文件导入到Solution中,首先确定右上角选择的是“Default”,,然后右键项目名“MyTest”,选择Add-->Add Files..,选择桌面的“DLLTest”即可,它会提示你以怎样的形式导入文件,移动还是复制,随便选一个即可。
我们Build编译一下,有可能会出现一个.Net框架版本不符合的错误提示(如果没有这个错误则略过)。
解决的方法也很简单,我们选中"MyTest"项目,点击菜单栏的“Project-->MyTest Options”,在弹出的对话框中选择General选项卡,在“Target framework”选项栏中选择合适的版本即可,我这里选择的是4.0,如下图所示:
再Build编译一次,发现还是有错误,提示缺少命名空间,错误信息如下:
这是因为缺少“UnityEngine.dll”文件,我们只需把它导入即可,那么这个文件在哪呢?我们把新建的Unity3D项目保存后导出为.exe文件,命名为“temp”那么在导出后的temp_Data文件夹下的Managed文件夹内就可以找到“UnityEngine.dll”文件。
回到我们在MonoDevelop创建的"MyTest"项目,右键“References“文件夹,选择Edit References,然后选择.Net Assembly选项卡,找到刚刚的”UnityEngine.dll“文件并添加即可。如图所示:
再Build一次,错误提示就没有了。然后我们打开项目地址,由于我之前保存在D盘的Projects文件夹,所以我的DLL文件存放目录是”D:\Projects\MyTest\MyTest\bin\Debug“,找到”MyTest.dll“并复制出 来,暂时放在桌面。
打开Unity3D项目”Test“,把”MyTest.dll“文件拖到项目中,然后将MyTest下的DLLTest脚本组件拖到摄像机上,新建一个C#文件,拖到摄像机上,编写代码如下:
using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour {// Use this for initializationvoid Start () {//获得DLLTest组件DLLTest dll = camera.GetComponent<DLLTest>();//调用Fun函数dll.Fun();}// Update is called once per framevoid Update () {}}
运行,控制台打出”Hello World !“,则调用DLL文件成功。
- Unity3D学习笔记10:Unity调用DLL
- 【Unity开发】Unity3d学习笔记记录
- 【unity3d学习笔记】unity中创建全局变量
- 【unity3d学习笔记】unity常用API解析
- unity加载dll库的学习笔记
- Unity3D 如何调用DLL
- unity3d调用DLL
- Unity3D调用.DLL文件
- unity中调用dll
- unity调用dll注意
- Unity调用DLL
- unity调用dll注意
- unity调用c++ dll
- UNITY3D学习笔记10
- Unity3D学习笔记(1)-简单的unity&n…
- Unity3D 学习笔记(四) Unity连接MySQL数据库
- Unity3D学习笔记(二)Unity的JavaScript基础
- Unity3D学习笔记(三)Unity的C#基础
- 扩展欧几里得求两多项式最大公因式
- Siremis 安装
- Chapater4 实验一
- backup oracle
- php 模拟POST提交
- Unity3D学习笔记10:Unity调用DLL
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- HDU - 1466 计算直线的交点数
- Android APK反编译详解(附图)
- Windows Server 2012 - 添加.NET 3.5 features
- python学习笔记
- DirectX综合论述
- MFC消息
- poj 3069 Saruman's Army 贪心