[译]为Unity制作WP8插件

前言:

  在用Unity发布WP8应用时候,经常会遇到一些API不能用的情况,例如弹出MessageBox,无法使用string.Compare(string,string,bool)等等之类的问题。那么如何解决这些问题呢?解决方案之一就是制作插件。在Unity Manual中有这样一篇文章:http://docs.unity3d.com/Manual/wp8-plugins-guide-csharp.html 讲的就是如何制作Unity的WP8插件。小弟我用中文将这个过程描述一遍。由于能力有限,如果有什么不对的地方,希望各位大神多多帮帮哈!谢谢!

  1、新建一个空白的解决方案,如下图所示:

    

  2、给空白的解决方案,添加一个项目

    

  3、这个新建项目是一个C#的类库项目,我们将其取名为FakeDLL,特别要注意的是要选择.NET Framework 3.5,如下图所示的那样:

  

  4、这个项目建好后,我们再给那个解决方案添加一个C#的WP8 类库的项目。注意这时的应选择.NET Framework 4.5及以上版本,我们取名为RealDLL:

  

  5、下面就是最为关键的一步:将两个类库属性中的”程序集名称“和”默认命名空间“全部改成解决方案的名字,如下图所示:

  

  由于默认命名空间换了,所以在Class中也要做相应的修改

  6、接来下就是编写代码了,我们FakeDLL的Class中写Unity可以用的一些功能,在RealDLL的Class中写WP里真正要用到的,如下代码所示:

  FakeDLL:
  

  RealDLL:

  

  7、选择两个项目,生成DLL,如下图所示:

  

  生成的DLL分别位于:RealDLL:\UnityWPPlugins\RealDLL\Bin\Debug;FakeDLL:\UnityWPPlugins\FakeDLL\Bin\Debug下,将FakeDLL生成的两个文件复制到Unity的Assets/Plugins文件夹下,将RealDLL生成的两个文件复制到Unity的Assets/Plugins/WP8文件夹下,如下图所示:

  

  8、最后在Unity中我们就可以调用UnityWPPlugins命名空间下的Class1中的GetDevice方法了。在Unity Editor和WP真机上的运行效果分别如下:

  代码:

  

  Editor:

  

  WP8:

  

  这个方法同样适用制作Windows Store App和Windows Universal App等。

时间: 2024-11-09 22:25:10

[译]为Unity制作WP8插件的相关文章

unity编辑器和插件的制作(四.1)

好久没有更新,有些急事终于处理完了,接着更新博客! 废话不多说,接着上面的讲,今天我们来接着讲述. 前面说到 怎么去建立一个自己 ,用代码绘制一个色块,今天我们来讲述下,怎么绘制一个图片在场景里面. 首先 我们先做下图片的功课. 在unity中图片的种类分了很多,默认是:Texture, 还有其他的一些属性. 有些人可以会遇到 我放进去的素材为什么编译之后会变模糊那,这是由于,在unity中你没有修改图片的属性,导致的. 在 texture模式下, 我们来分析下这种图片的属性, wrap mod

unity 编辑器和插件制作(五)

接着前面的继续前行,默默的fighting. 前面讲了,怎么使用摄像机发射线到物体,来触发事件.今天我们 来讲述下怎么去实现一个label. 这个就相对比较简单了,其实我们可以直接使用unity自带得textmesh来实现一个字体,但大多数时候,需要改一些设置,字体大小,材质等等 一些得问题所以我们,最好还是自己写一个脚本来实现一些简单的操作,方便简洁嘛.其实很简单 ,下面我们就开始来实现这些方法. 代码 : using UnityEngine; using System.Collections

unity 编辑器和插件制作(四.2)

上次 我们讲述的是编辑器制作,怎么把图片加载到场景中,今天 我们就来讲述下,怎么 制作UIButton以及UIimage的互换. 废话不多说.进入正题. 首先我们要了解 unity的机制,button属性必须有的属性等. 首先 我们先说下 unity的机制: unity中检测点击事件,使用NGUI的可能知道,NGUI使用的就是SendMessage的方式来进行事件的传递.没错,这也是 unity最为简便的方式, (要注意一个问题哦,这个方式 如果 你要使用 大于 万次循环的话 会有延迟的哦,一般

unity编辑器和插件(三)

接下来 我就开始正规的编辑器和插件的制作. 我这里是按照 IOS android的 控件为例子模板.来制作 一套使用 unity书写的控件. 好首先我们来想下  IOS 和android的 控件都是以四边形基础的. SO, 接下来 我们来转像unity,在unity中 我们怎么去建立一个四边形那, 依照图形绘制的原理.三点一面的理论.我们可以使用6个点来建立一个两三角形组成的四边形. 我们先学会怎么去绘制一个view,也就是简单的一个色面. 我们知道 unity中得面也是采取这种的绘制方法,绘制

Unity 制作滚动物品界面

Unity 制作滚动物品界面: 第一种方式: (panel的方式实现) 1. 创建一个GameObject(A),添加UIPanel和UIScrollView           2. 物品放入A中,添加Drag Scroll View 和 box Colliders(一般是添加一个Grid,物体放入Grid,把Grid放入A) 注意事项: 1. 动态加载的物品坐标不正确,使用Grid组件Reposititon(),进行更新 代码实现: using UnityEngine; using Syst

【VR】Leap Motion 官网文档 Unity资源与插件

前言: Leap Motion的官网文档已经有不少的热心网友参与了翻译,但没有覆盖官网文档的全部. 为迎合Unity VR的热潮与大家的学习需要,本博客将推出针对Unity方向的官方文档翻译系列. 本篇首先对Leap Motion所提供的Unity资源与插件进行概述. 英文原文网址:https://developer.leapmotion.com/documentation/unity/index.html 译文首发&持续更新:http://blog.csdn.net/duzixi Leap M

Unity时钟定时器插件——Vision Timer源码分析之二

Unity时钟定时器插件--Vision Timer源码分析之二 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 前面的已经介绍了vp_Timer(点击前往查看),vp_TimeUtility相对简单很多,vp_TimeUtility定义了个表示时间的结构Units: C#代码   /// <summary> /// represents a time measured in standard units /// </summar

Unity制作游戏中的场景

Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity 2D游戏开发从入门到精通清华大学出版社. 要创建一个新的场景,只需单击File|New Scene命令,或者按下快键键Ctrl+N,如图1-16所示. 图1-16  创建程序的命令,以及场景 默认情况下,新创建游戏项目的同时,也新创建了游戏的场景,只不过还没有保存罢了.使用快捷键Ctrl+S即可保

Unity基础 NGUI插件 创建简单的按钮

Unity版本:4.5.1 NGUI版本:3.6.5 注意NGUI版本,网上的大部分教程都是2.x版本的,在步骤上面略有不同,此文适合初学者. 示例: 通过NGUI创建一个背景和按钮. 1.首先创建一个新场景,并保存,在此场景取名为Test: 在Unity主界面上:File — New Scene,然后保存场景,File — Save Scene As.. 在此,场景命名为Test,可以在Unity中看到如下效果:      2.网上的绝大部分教程都说要删除场景中的自带摄像机,即上文左侧图中的