unity3d怎么使用c#的dll

unity3d怎么使用c#的dll,第1张

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、测试通过,成功!

unity3D调用C#的DLL的步骤如下:

1、编写要引用的程序集。

用户可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。

2、将程序集DLL放置到目标Unity工程的Asset目录下。

虽然可以用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此,在VS中的引用设置不能被Unity所使用。正确的做法是把dll放在Asset下,Unity能很好地识别它。

如果把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至可以直接把它们拖动到GameObject中,开发效率很高。

3、在目标工程中添加引用,编写代码,测试。

由于可以方便地使用程序集,Unity给程序员项目开发提供了更大的灵活性,也更便于组织实施软件工程了。

如果实在运行模式下,那么给实例物体绑定脚本是必须的。因为你获取鼠标的位置是在继承自MonoBehaviour 的脚本中获取的,而这个脚本必须拖到物体上才能执行。

如果你不想编辑时就把这个脚本拖上物体,你可以用AddCommpent()方法在运行时动态添加对应脚本,完了后用Destroy()方法删除


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11592007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存