unity 代码C#封装为dll金沙官网线上

1  Visual studio软件打开后创建一个项目

一、创建DLL

打开VS,文件 > 新建 > 项目

金沙官网线上 1

新建项目.png

点击确定,编辑代码

using System;
namespace MyDll
{
  public class Tip
  {
    public static string GetText()
    {
      return "hello world";
    }
  }
}

生成dll,如图

金沙官网线上 2

image.png

生成的dll文件的路径在你的工程文件下的binDebugxxx.dll
例如我的是在C:UsersadminDocumentsvisual studio 2015ProjectsMyDllMyDllbinDebugMyDll.dll
PS:也可以用MonoDeveloper创建并生成dll,至于操作步骤可以查看官网手册

金沙官网线上 3

二、导入DLL

在这一步操作之前需要注意在第一步创建项目时默认选择的是.Net Framework4.5.2,我用的Unity版本是5.4.3,支持的.NET Framework的版本为3.5,需要修改一下,在VS里项目>MyDll属性 如图

金沙官网线上 4

改dll属性.png

金沙官网线上 5

image.png

这样dll的生成才算是完成了,如果不进行这步直接放到Unity里当然会报错,如图

金沙官网线上 6

dll属性未修改的报错

接着重新生成一下dll文件,重新导入到Unity的Pugins文件夹下就行了。

 

三、调用DLL

在Unity新建一个TestDll的脚本,并挂到主摄像机上,脚本代码如下:

using UnityEngine;
using MyDll;//引入dll
public class TestDll : MonoBehaviour
{
  void Start()
  {
    Debug.Log(Tip.GetText());
  }
}

注意,调用Dll中的方法一定要使用using语句引入导入到unity中的dll类库。using MyDll;

2并选择类库类型

C#引用Unity原生类库

Unity类库在Mac上的路径为Applications/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll
在Windows上的路径为
Program FilesUnityEditorDataManagedUnityEngine.dll

项目>添加引用>浏览>根据路径找到UnityEngine.dll,还有很多其他的dll

金沙官网线上 7

image.png

删除多余的引用.
引入dll后,代码就可以用了,使用dll用using UnityEngine;这样就可以用这个dll库下的内容了例如

using System;
using UnityEngine;//引入dll
namespace MyDll
{
  public class Tip
  {
    public static string GetText()
    {
      return "hello world";
    }
    public static void UnityDllTest()
    {
      Debug.Log(123);
      GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
    }
  }
}

Debug,GameObject等都可以使用了

金沙官网线上 8

3编写简单的代码看看效果(发现会报错),主要是没有添加类库,以及using UnityEngine;引用空间

金沙官网线上 9

 

 

 

4添加类库,引用空间

金沙官网线上 10

发现依然会报错,这就需要添加应用库unityengine.dll,方法如下

金沙官网线上 11

 

金沙官网线上 12

找到安装unity目录下的UnityEngine.dll,添加后你就会发现,报红的地方消失

金沙官网线上 13

金沙官网线上 14

本文由金沙官网线上发布于编程,转载请注明出处:unity 代码C#封装为dll金沙官网线上

您可能还会对下面的文章感兴趣: