写在前面的

其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏。

只不过本人是Windows Phone 应用开发出身,而且现在WP商店的游戏又是十分稀少,因此涉及到具体设备的时候会拿WP的设备进行调试,所以名字暂定如此。

如果可以坚持下来的话,我打算把它写成一个系列,最终能够实现一个完整的2D横版跑酷游戏。

关于支持的平台,我们可以看一下下面的图。 这是我的电脑上安装完unity4.2之后的截图,可以看到,支持多达11个平台! 而且这其中还把PC,MAC LINUX,算到一起了。

  

试问各位,除了上面看到的这些平台,您还有为其他平台开发游戏的想法吗?

我想大多是NO!

这样,通过unity, 我们基本可以达到一处编写代码,处处运行的效果。再加上它强大的可视化操作,丰富的插件扩展,对于开发而言,实在是不可多得的利器。

Unity简单介绍

Unity 又名 Unity3d, 是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,

是一个全面整合的专业游戏引擎。(来自百度百科)

这里要提的是Unity是商业引擎,决定了它的收费的性质,目前最新版本4.2.1 基础版本是免费的,一些额外的特性需要购买Pro来解锁,1500美元。而且安卓,ios等开发者

如果需要移动平台上的一些高级特效,还需要再掏腰包。wp/win8据说由微软垫付了,所以最多需要1500刀就可以了。

当然,不花钱也是可以开发的,少一些功能,还有在程序刚开始运行的时候会有Powered by unity 的大图出现,只要你能够忍受这些,ok,没问题,Unity对你来说就是免费的。

这里是价格和功能对比

以前提起Unity,大家首先想到的是它的可视化操作,没错。 它里面包含了物理引擎,天空盒子,摄像机,灯光,角色控制器,场景等等,都是游戏里常用的一些组件,我们通过拖拽

就可以添加修改。

比如物理引擎,在其他的引擎都是要手动写代码,但是在unity里,我们甚至不需要一行代码就可以给物体,加刚体,加碰撞检测器。

个人认为unity最强大的地方还是在于它的扩展性,支持第三方插件,官方不足的第三方来补齐(然后官方抄过来,好邪恶。。。),而且他有个商店,我们在里面可以买到各种的插

件和资源,当然前提是有 $$$

这个2D游戏的开发系列,也是基于一个插件 2dToolkit  是现在卖的非常火的一个插件, 不过据说在秋天要到来的Unity4.3里会原生的支持2D游戏开发的,具体还是到时候再看吧,

反正都是一个原理,一个操作习惯。

Unity文档和开发的游戏

文档就太丰富了,我个人是看了 宣雨松的Unity3D 游戏开发 起步的

官方手册在 这里

搜了一下由Unity开发的游戏,国内的有一款页游,  新仙剑   有兴趣的可以去看一下。

手游上最出名的就是神庙逃亡2了,相信大家都玩过或者听过,所以我们没有必要去担心在移动平台上的表现。

其他的可以看一下unity官网的介绍。 点击这里

为什么选择Unity

目前最常用的移动端游戏开发引擎,除了Unity之外,还有cocos2d-x,但是cocos2d-x对于wp8,win8 Metro的支持很差,这个原因是因为cocos2d-x主版本是基于opengl

的,但是微软的平台向来都是DX的,因此开源团队来维护这么多版本的代价实在是大,而且wp/win8的市场占有率也是难让人狠下心来,全身心投入进去。

而且值得注意的是cocos2d-x for wp8这个版本是微软 雷德蒙总部维护的,但是现在一直是在 v2.0 preview阶段,迟迟没有更新,与之相对的,微软和Unity达成协议,Unity4.2

开始支持wp8/win8 ,Unity给开发者省去了本来需要额外支付的 1500刀的费用,由微软来垫付。所以我想,也许微软本来就是建议大家采用unity来进行这两个平台上的游戏开发。

现在如果大家去WP开发者中心的话,还可以看到现在有一项游戏开发比赛,要求使用Unity作为工具。  传送门

另外,如果是单纯的WP/WIN8 METRO上的游戏开发,xna也是不错的选择,也有cocos2d-x for xna的版本,但是想要移植到安卓,Ios呢,难道要再写一遍么。。。不是吧。。。

所以一番纠结之后,我选择了unity继续前进,暂时放弃了cocos2d-x,xna

好吧,扯了些没用的,有用的从明天开始吧.

欢迎收看我的前一篇文章。

(译)【Unity教程】使用Unity开发Windows Phone上的横版跑酷游戏

【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下的更多相关文章

  1. 【使用Unity开发Windows Phone上的2D游戏】(2)初识工具

    下载工具 我们需要下载两个工具:Unity 和 2D Toolkit Unity 在我写这篇文章的时候,最新的Unity版本是4.2.1, 下载地址 Unity公司的开发效率实在是很高,我一个多月前开 ...

  2. (译)【Unity教程】使用Unity开发Windows Phone上的横版跑酷游戏

    译者注: 目前移动设备的跨平台游戏开发引擎基本都是采用Cocos2d-x或者Unity.一般而言2d用cocos2d-x 3d用unity,但是对于Windows Phone开发者, cocos2d- ...

  3. Unity引擎入门——制作第一个2D游戏(1)

    Unity作为当今最流行的游戏引擎之一,受到各大厂商的喜爱. 像是炉石传说,以及最近的逃离塔克夫,都是由unity引擎开发制作. 作为初学者的我们,虽然无法直接做出完成度那么高的作品,但每一个伟大的目 ...

  4. Unity引擎入门——制作第一个2D游戏(2)角色移动与动画

    在上一节的内容里,我们已经创建出了一个主角,也搭建了一个简单的场景. 传送门:https://www.cnblogs.com/zny0222/p/12653088.html 既然有了主角,要怎样才能让 ...

  5. 《VR入门系列教程》之21---使用Unity开发GearVR应用

    使用Unity开发GearVR应用     上一章我们介绍了如何运用Unity3D开发Oculus Rift应用,当然,这个便宜且强大的游戏引擎也可以用于GearVR的应用开发,这时我们需要用到Ocu ...

  6. 2d游戏和 3d游戏的区别

    2D游戏和3D游戏的主要区别 一.总结 一句话总结:2D中的单位就是贴图,3D中的单位还有高 1. 3D 和 2D 游戏的区别主要体现在呈现画面和文件体积上: 2. 借助 3D 引擎可以提升 2D 游 ...

  7. Unity 2D游戏开发教程之精灵的死亡和重生

    Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...

  8. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  9. Unity 2D游戏开发教程之2D游戏的运行效果

    Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...

随机推荐

  1. REACT 学习

    1.React/React Native 的ES5 ES6写法对照表 http://bbs.reactnative.cn/topic/15/react-react-native-%E7%9A%84es ...

  2. c3p0 config

    c3p0-config.xml<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> ...

  3. 解读Unity中的CG编写Shader系列十 (光滑的镜面反射(冯氏着色))

    前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素 ...

  4. javascript 解析dom字符串

    知识要求:1:熟悉dom结构层次(如childNodes,nodeType,parent,children)等. 2:熟悉jq对象转换js 对象,反之 毕竟不是专业js人.借助第3方框架.其实jq也是 ...

  5. [转]Git远程操作详解

    原文:http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...

  6. NSBundle的pathForResource:ofType: 返回值为nil问题

    一.问题描述 在处理XML的过程中,在项目中手动创建名为“data.xml”的文件,加入网上找的内容 <?xml version="1.0" encoding="u ...

  7. 复习sqldataread

    public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader) { ///定义DataTable Data ...

  8. 【Git】参与github上其他人的项目

    来源:廖雪峰 访问感兴趣的项目主页.,点“Fork”就在自己的账号下克隆了该项目仓库,然后,从自己的账号下clone到本地,就可以工作啦~ 以bootstrap项目为例,这个关系如下图所示: 一定要从 ...

  9. Struts 2, 值在验证失败回到原来页面的时候会丢失的解决方案

    比如,当我要添加一个信用卡的时候,我需要信用卡的CardType, 这些数据是存在数据库中的,我要先通过action 的一个 create方法,取到信用卡的类型: public String crea ...

  10. Quartz结合SPRING多任务定时调用

    定义两个被调度的类 public class QuartzJob { public void work() { System.out.println(Spring Quartz的任务调度1被调用!&q ...