[Unity3d]调用自己封装的dll
2013-12-04 23:49
190 查看
之前总感觉会封装dll组件的都是大牛级别的程序员做的事情,然后供给菜鸟级别的调用。感觉为了保护自己的源码不会被他人知道,然后就封装一个dll供人家调用,那样就觉得很牛,今天我也尝试摸索了一下,感觉也就那么回事,但只是简单的测试而已,其实会写封装的,封装的好的还是很牛的,哈哈,那让我们也来假装“牛”一次吧!
首先要申明的是,unity3d支持C#语言,但只有pro版本才支持.net2.0,其他版本是不支持的,但也只有pc平台才支持,切记!
我先在vs中创建一个类,就一个简单的静态方法和静态类:
类:
![](http://img.blog.csdn.net/20131204233910687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGluZ3hpYW93ZWkyMDEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
,反编译能看到dxw类中的一些方法。
点击方法,就能看到具体方法的实现:
![](http://img.blog.csdn.net/20131204234130812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGluZ3hpYW93ZWkyMDEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20131204234830812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGluZ3hpYW93ZWkyMDEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
运行结果:
![](http://img.blog.csdn.net/20131204234916234?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGluZ3hpYW93ZWkyMDEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
看到能够正确输出了!
==================== 迂者 丁小未 CSDN博客专栏================= MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243 Unity QQ群:858550 cocos2dx QQ群:280818155 ====================== 相互学习,共同进步 =================== 转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/17126839
欢迎关注我的微博:http://weibo.com/u/2590571922
首先要申明的是,unity3d支持C#语言,但只有pro版本才支持.net2.0,其他版本是不支持的,但也只有pc平台才支持,切记!
操作步骤:
1.封装dll
打开vs2010,新建项目,选择类库,然后命名(这里的命名就是你封装的dll的名字),下面我就简单的封装一个方法,只做为演示,这样你就可以封装更多更好的属于自己“私有”的方法,这里私有是有局限性的,因为有反编译工具能查看到你编译的源码的,下面我就演示一下一个神器,.net的反编译工具(.NET Reflector)。我先在vs中创建一个类,就一个简单的静态方法和静态类:
namespace dingxiaowei { public static class dxw { public static string showName(string name) { return name; } } }然后进行编译,编译成的dll,名字为dingxiaowei.dll,然后我们将这个dll文件拖到反编译器,我们看一下反编译出来的是啥?
类:
,反编译能看到dxw类中的一些方法。
点击方法,就能看到具体方法的实现:
2.在unity中使用自定义的dll组件
在unity中创建一个Plugins文件夹,所有的外部引用的dll组件必须要放在这个文件下,才能被using。如果是C#封装的dll,就用using的方式引用,如果是C++的dll,就DllImport["dxw.dll"]的方式来添加对dll的引用。然后我在C#脚本中用这个dll,运行结果:
看到能够正确输出了!
==================== 迂者 丁小未 CSDN博客专栏================= MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243 Unity QQ群:858550 cocos2dx QQ群:280818155 ====================== 相互学习,共同进步 =================== 转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/17126839
欢迎关注我的微博:http://weibo.com/u/2590571922
相关文章推荐
- 如何打开从asset store 下载的资源
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(20)-权限管理系统-根据权限获取菜单
- C# 事件和Unity3D
- unity3d 数学基础与数学辅助类
- unity3d 鼠标点击或触摸 控制角色对象行走
- Unity中连线
- unity3D中常用的几种系统自调用的重要方法
- Unity3D笔记四 基础知识概念
- Unity3D NGUI自适应屏幕分辨率
- Unity3D学习笔记
- Calling a web-service from a Unity3D scene
- Unity3D Demo
- [Unity插件]LitJson杂谈
- [Unity3d]u3d请求json数据并解析
- [Unity3d]u3d请求json数据并解析
- Unity3d 与 mysql连接 解决方法
- 火溶CEO王伟峰:Unity3D手机网游开发
- 【Unity】技巧集合
- (转)unity开发相关环境(vs、MonoDevelop)windows平台编码问题
- Android笔记:Unity3D与android项目交互中无法监听back键返回的解决办法