Unity3D教程:静态调用C#的dll
就像使用.net自带的那些程序集一样。加入Reference,然后使用就可以。
因为windows环境下的Unity编译脚本时,本质上还是生成.net程序集。并且其C#脚本编程事实上就是.net C#语言编程。用Visual Studio 编写脚本project是,我们能够直观地看到Unityproject所引用的程序集。
既然能引用.net框架的程序集。自然也能引用自己编写的程序集。过程例如以下:
1、编写要引用的程序集。
我们差点儿能够编写不论什么用途的程序集。就像用C#开发.net类库一样。只是须要注意的是,假设要编写从Unity继承的类(比方从MonoBehaviour派生的组件等等),则不能使用namespace。眼下的Unity不支持。用了编译报错。
尽管不能使用namespace。但我实际測试后发现若新项目中创建了与引用的程序集同名的类,Unity编译并不会报错,并且实际运行也非常正常。
因为没有介绍Unity内部怎样编译的资料。我们还是尽量不要重名吧。
2、将程序集DLL放置到目标Unityproject的Asset文件夹下(这点非常重要)。
尽管能够用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此。在VS中的引用设置不能被Unity所使用。我以前尝试过把要引用的程序集放在GAC中也不行。正确的做法是把dll放在Asset下。Unity能非常好地识别它。
假设我们把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至能够直接把它们拖动到GameObject中,非常强大吧!
3、在目标project中加入引用,编写代码。
这个没什么好说的。
4、測试通过,成功!
因为能够方便地使用程序集。Unity给我们的项目开发提供了更大的灵活性。也更便于组织实施软件project了。
Unity3D教程:静态调用C#的dll的更多相关文章
- 【VB技巧】VB静态调用与动态调用dll详解
本文“[VB技巧]VB静态调用与动态调用dll详解”,来自:Nuclear'Atk 网络安全研究中心,本文地址:http://lcx.cc/?i=489,转载请注明作者及出处! [[请注意]]:在以下 ...
- Unity3d 调用C++的DLL
原地址:http://www.cnblogs.com/alongu3d/archive/2013/04/20/3031904.html Unity 3D 调用DLL的方法 本文转载:渡蓝的博客园 ht ...
- C++调用DLL有两种方法——静态调用和动态调用
C++调用DLL有两种方法——静态调用和动态调用 标签: dllc++winapinullc 2011-09-09 09:49 11609人阅读 评论(0) 收藏 举报 分类: cpp(30) [ ...
- dll静态调用和动态调用
动态链接库有2种连接方式,一种是通过库直接加入(又叫隐式加载或载入时加载),一种是在运行时加入.后者很好理解,比如LoadLibrary(),GetProcAddress()获取想要引入的函数,使用完 ...
- Delphi 动态与静态调用DLL(最好的资料)
摘要:本文阐述了 Windows 环境下动态链接库的概念和特点,对静态调用和动态调用两种调用方式作出了比较,并给出了 Delphi 中应用动态链接库的实例. 一.动态链接库的概念 动态链接库( ...
- DLL DEF文件编写方法 VC++ 调用、调试DLL的方法 显式(静态)调用、隐式(动态)调用
DLL 文件编写方法: 1.建立DLL工程 2.声明.定义要导出的函数 BOOL WINAPI InitDlg( HWND hTabctrl,TShareMem* pTshare,CRect* prc ...
- DLL的静态调用和动态调用
// ------------------------------------DLL源代码 circle.dproj -------------------------------------libr ...
- 在Delphi中静态调用DLL
在Delphi中静态调用DLL top 调用一个DLL比写一个DLL要容易一些.首先给大家介绍的是静态调用方法,稍后将介绍动态调用方法,并就两种方法做一个比较.同样的,我们先举一个静态调用的例子. u ...
- C# 中静态调用C++dll 和C# 中动态调用C++dll
在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能 ...
随机推荐
- POJ 2436 二进制枚举
题意: 思路: 拆成二进制枚举 有哪个病毒在 判一判 就好了 //By SiriusRen #include <cstdio> #include <cstring> #incl ...
- Red Hat Linux 安装 (本地、网络安装)
Red Hat Linux 安装 (本地.网络安装) 650) this.width=650;" onclick='window.open("http://blog.51cto.c ...
- python关于sorted里面key,reverse以及lamdba,operator这几个鸟人
关于sorted: help里给的解释 >>> help(sorted) Help on built-in function sorted in module __builti ...
- 51nod 编辑距离 + 滚动数组优化
这道题一开始觉得增加和删除会移动字符串的位置很不好做 两个字符串dp状态一般是第一个前i个和第二个前j个 #include<cstdio> #include<algorithm> ...
- HDU 3911 Black And White
Black And White Time Limit: 3000ms Memory Limit: 32768KB This problem will be judged on HDU. Origina ...
- jmeter名词解释之聚合报告
新浪围脖>@o蜗牛快跑o 温馨提示: 1. tps(吞吐量)表征系统性能,系统的好坏能够用这个评估 2. 90%Line是满足需求响应时间的重要指标,假设用户需求说是响应时间不小于5s,那 ...
- C# Excel文件导入操作
Excel文件导出的操作我们经经常使用到,可是讲一个Excel文档导入并显示到界面还是第一次用到. 以下简介下在C#下怎样进行Excel文件的导入操作. 首先加入两个引用 using System.I ...
- 【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换 ...
- es67
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 小项目: low版本的 员工信息程序:
### 附加两个文件1 user_info 和worker_info flag = False def logon(): #登录函数 global flag usr = input('Username ...