以前总感受会封装dll组件的都是大牛级别的程序员作的事情,而后供给菜鸟级别的调用。感受为了保护本身的源码不会被他人知道,而后就封装一个dll供人家调用,那样就以为很牛,今天我也尝试摸索了一下,感受也就那么回事,但只是简单的测试而已,其实会写封装的,封装的好的仍是很牛的,哈哈,那让咱们也来伪装“牛”一次吧! 程序员
首先要申明的是,unity3d支持C#语言,但只有pro版本才支持.net2.0,其余版本是不支持的,但也只有pc平台才支持,切记! 工具
打开vs2010,新建项目,选择类库,而后命名(这里的命名就是你封装的dll的名字),下面我就简单的封装一个方法,只作为演示,这样你就能够封装更多更好的属于本身“私有”的方法,这里私有是有局限性的,由于有反编译工具能查看到你编译的源码的,下面我就演示一下一个神器,.net的反编译工具(.NET Reflector)。
测试
我先在vs中建立一个类,就一个简单的静态方法和静态类: spa
类:,反编译能看到dxw类中的一些方法。 .net
点击方法,就能看到具体方法的实现: 3d
在unity中建立一个Plugins文件夹,全部的外部引用的dll组件必需要放在这个文件下,才能被using。若是是C#封装的dll,就用using的方式引用,若是是C++的dll,就DllImport["dxw.dll"]的方式来添加对dll的引用。而后我在C#脚本中用这个dll, code
运行结果:看到可以正确输出了! blog