unity脚本封装成dll
先申明一下这样做是有需要的。当我们需要把脚本提供给第三方使用,而又不希望对方看到具体的实现过程,这时候就需要将代码封装编译成dll文件,供第三方调用。或是多个项目都要用到同一个模块或同样的功能,则可以把该模块或是功能编译成dll,方便复用和维护。
一、先介绍使用MonoDevelop编译器,具体做法如下:
1.打开MonoDevelop,新建项目

填写项目名称和项目路径(项目名称的命名中不要有下划线这些特殊字符,否则可能会报错):

2.view—visual Design窗口,References右键Edit
添加被引用的dll文件

3.编辑或添加需要打包的脚本,此处搞一个简单脚本用来测试吧:
using System;
using UnityEngine; namespace DellTest
{
public class MyClass
{
public MyClass ()
{
Debug.Log ("test sucess");
}
}
}
脚本要注意的是最好使用命名空间,避免调用时类名重名问题。
4.右键,旋转options

更改Target framework

这一步特别重要,不然打包的dll unity无法使用,因为framework不兼容。
5.右键,可以先clean再build,我习惯先clean。

6.去项目下面找到生成的dll包。

7.将这个包拖到unity的资源下面,写一个脚本简单测试一下:
using UnityEngine;
using DellTest; public class dlltest : MonoBehaviour
{
MyClass my = new MyClass(); }
二、手动编译成dll文件
执行下面命令
unity脚本封装成dll的更多相关文章
- 将Python脚本封装成exe可执行文件 转
将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html cx_freeze是用来将 Pyt ...
- 将QT开发的界面程序封装成DLL,在VC中成功调用
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...
- 在城市后面加上省,市,区 以及将MySQL入库脚本封装成class
在城市后面加省,市,区时,使用过滤器和for循环,if判断 一起使用. 自定义一个过滤器 def my_detail(val): ...
- Unity 代码编译成dll 更新dll实现热更代码
Unity 代码编译成dll 更新dll实现热更代码 实现流程 代码编译成DLL DLL打包成AssetBundle 加载AssetBundle 加载代码程序集 获取指定类 使用反射赋值 C#代码编译 ...
- C#封装成DLL,并在C#中调用
一.C#封装成DLL 1.在VS中创建项目选择类库,命名 myDll 2.建立好项目后自动生成的代码如下: 代码修改如下,添加自己要封装的C#代码,注意修饰符必须为public using Syste ...
- 将QT开发的界面程序封装成DLL,在VC中成功调用(必须有消息循环,所以使用了QTWinmigrate,附CSDN可下载的Demo)
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...
- 使用DOS命令将类库封装成dll
1.Windows键+R.输入cmd进入DOS 2.使用 cd 加路径找到需要封装成dll的类库文件 3.csc /target:library /out:dll的名字.DLL 需要封装的cs文件
- VisualStuido中将C#脚本封装打包DLL并调用
DLL (Dynamic Link Library)---动态链接库 首先了解下使用DLL的优势,程序运行时不用加载所有代码,只有运行到引用时,才从DLL库中取出.并且使用DLL文件还可以减小程序体积 ...
- 如何将.il、.res文件封装成dll文件
将你的.il..res文件保存在你的硬盘上,如下图: 我存放的路径在E盘的test文件夹中,我们开始封装了咯.进入DOS命令,如下图: 我们通过DOS命令先进入.il..res文件目录,如下图: 然后 ...
随机推荐
- VS code MacOS 环境搭建
环境:MacBook Pro 参考博客 为了动手开发AI代码,我需要安装一个VS code. 开始我以为是安装visual studio呢.我装过visual studio2017. VS code是 ...
- second scrum meeting - 151026
摘要:这一周的工作其实进行的并没有很迅速~不过我们团队的每个人都在慢慢进行自己的工作,并且我们也完成了大致的页面设计,开发了主页面的框架,并且我们也会开始着手学习服务器的操作,还有更加完善主页面的框架 ...
- 关于 Java连接sql的转载
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别是mssqlserver.jar.msutil.jar ...
- Spring笔记③--spring的命名空间
p:命名空间: xmlns:p="http://www.springframework.org/schema/p" 作用:简化在xml配置bean的属性 在<bean> ...
- c++工厂模式(Factory method)
下面以女娲造黑人,白人,黄种人的例子来介绍一下工厂模式. 1.工厂的接口,相当于造人工厂总部. class IHumanFactory { public: IHumanFactory(void) { ...
- iOS- 如何使用Alcatraz来高效的管理Xcode-Plugin(Xcode插件)
1.前言 相信各位iOS攻城师用的Xocde的快捷插件也不少,今天向大家分享一款能高效快捷的管理Xcode-Plugin的软件<Alcatraz>,自己亲自体验后,爱不释手. (这里用 ...
- js访问对象属性的两种方法
var obj={name:'fuuf',age:19} 第一种,用.访问 obj.name 第二种 用[]访问 obj['name'] //此时name是字符串,要加引号 注意事项 使用第二种方法 ...
- 0523 Scrum项目6.0
0523 团队项目6.0 一,组员任务完成情况 首页设计初步完成但是需要优化界面,只能简单的输出信息和在首页进行登录.界面极其简单.使用了Javabean的设计模式,进行改进,使得页面的里的代码看起来 ...
- jmeter 多线程组间变量共享
jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中.拿Cookie ...
- angular 调用element的 onfocus onkeydown onblur等事件
项目里要实现一个input验证通过就切换到下一个input的功能 当然用jq dom操作很简单 ,大家都懂,现在用 angular,mvc 数据模型控制分离,不想再dom操作怎么办 以下方法 < ...