unity3D怎么使用C#的DLL
2个回答
2016-03-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
步骤如下:
1、编写要引用的程序集。
我们几乎可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。
虽然不能使用namespace,但我实际测试后发现若新项目中创建了与引用的程序集同名的类,Unity编译并不会报错,而且实际执行也很正常。由于没有介绍Unity内部如何编译的资料,我们还是尽量不要重名吧。
2、将程序集DLL放置到目标Unity工程的Asset目录下(这点很重要)。
虽然可以用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此,在VS中的引用设置不能被Unity所使用。我曾经尝试过把要引用的程序集放在GAC中也不行。正确的做法是把dll放在Asset下,Unity能很好地识别它。
如果我们把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至可以直接把它们拖动到GameObject中,很强大吧!
3、在目标工程中添加引用,编写代码。
这个没什么好说的。
4、测试通过,成功!
由于可以方便地使用程序集,
1、编写要引用的程序集。
我们几乎可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。
虽然不能使用namespace,但我实际测试后发现若新项目中创建了与引用的程序集同名的类,Unity编译并不会报错,而且实际执行也很正常。由于没有介绍Unity内部如何编译的资料,我们还是尽量不要重名吧。
2、将程序集DLL放置到目标Unity工程的Asset目录下(这点很重要)。
虽然可以用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此,在VS中的引用设置不能被Unity所使用。我曾经尝试过把要引用的程序集放在GAC中也不行。正确的做法是把dll放在Asset下,Unity能很好地识别它。
如果我们把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至可以直接把它们拖动到GameObject中,很强大吧!
3、在目标工程中添加引用,编写代码。
这个没什么好说的。
4、测试通过,成功!
由于可以方便地使用程序集,
推荐于2016-11-04 · 知道合伙人软件行家
关注
展开全部
《一》.创建dll文件
1,打开vs文件->新建-> 项目->C#->类库,输入项目的名称,创建一个dll项目;
2,引入 UnityEngine UnityEditor
;这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,
具体添加步骤:右键点击解决方案->添加引用->浏览;
3,如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和
UnityEditor;如果项目中不需要,也可以省略第二步;
4,编写脚本代码,下面是一个例子:
using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using UnityEngine;
using
UnityEditor;
using System.Collections;
namespace dlltest
{
class Class2 :
MonoBehaviour
{
void
Start()
{
Debug.Log("this is unity call C# dll
test!");
}
}
}
5,F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;
6,如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,
如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致;
1,打开vs文件->新建-> 项目->C#->类库,输入项目的名称,创建一个dll项目;
2,引入 UnityEngine UnityEditor
;这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,
具体添加步骤:右键点击解决方案->添加引用->浏览;
3,如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和
UnityEditor;如果项目中不需要,也可以省略第二步;
4,编写脚本代码,下面是一个例子:
using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using UnityEngine;
using
UnityEditor;
using System.Collections;
namespace dlltest
{
class Class2 :
MonoBehaviour
{
void
Start()
{
Debug.Log("this is unity call C# dll
test!");
}
}
}
5,F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;
6,如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,
如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询