惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
G
Google Developers Blog
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
The Blog of Author Tim Ferriss
月光博客
月光博客
B
Blog
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
博客园_首页
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Jina AI
Jina AI
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
Google DeepMind News
Google DeepMind News

博客园 - 軒轅

Windows Phone 7 Silverlight程序中声音播放实现 “Windows Phone 7 Game Development”一书可提供下载 Windows Phone 7范例游戏Platformer实战9——僵尸怪 Windows Phone 7框架、控件和开源项目第二季 经典Windows Phone 7开源程序介绍——基于定位的社交应用Foursquare Windows Phone 7 系统信息获取示例 Windows Phone 7 开发向导 V2.0提供下载 Windows Phone 7框架、控件和开源项目第一季 Windows Phone 7范例游戏Platformer实战8——精灵动画的绘制实现 WP7上Metro风格的程序栏图标汇总 Windows Phone 7范例游戏Platformer实战7——简单动画的绘制实现原理 两本全彩Windows Phone 7书籍提供下载 Windows Phone 7 开发资源大全 Windows Phone 7范例游戏Platformer实战6——加速度传感器解读 Windows Phone 7范例游戏Platformer实战5——多点触控编程 Windows Phone 7范例游戏Platformer实战4——冲突检测的实现 Windows Phone 7范例游戏Platformer实战3——游戏资源和内容管道 Windows Phone 7范例游戏Platformer实战2——游戏设计初步 WP7版社交程序现真容,与Bing Map的完美结合。
Windows Phone 7范例游戏Platformer实战1——5大平台支持
軒轅 · 2010-12-08 · via 博客园 - 軒轅

XNA强大的跨平台能力

早在TechEd 2009的中东会议的演讲上,微软就演示了一款跨Windows 7, Windows Phone 7 Series 和Xbox 360平台的冒险类游戏——Platformer。这款游戏对于熟悉XNA开发的程序员来说应该不陌生,因为这款游戏一直是作为XNA的初学者开发模板通过给大家使用,可谓是入门的极佳资料。

 

                                           Windows Phone 7版Platformer

 

                                                            PC版Platformer

Platformer提供了可完整运行的源代码,支持多平台的运行。比如说我们可以在Windows Phone 7上继续Windows 7保存的游戏,并最终将存档放到Xbox 360上完成任务,这听起来是不是非常震撼。

手机、PC、Xbox之间的通用游戏和通用存档意义非常重大,意味着我们可以在地铁或者公交上使用Windows Phone 7随时随地游戏外,而后还可以将Windows Phone 7上的游戏存档通过网络直接上传到游戏体验效果更好的Xbox 360或者PC上“再续前缘”。更好的消息是,它又被移植到Silverlight了。演示地址如下:

http://silverlight.laumania.net/platformer/ 

而实现上面这一切都源于在Windows Phone 7平台上引入的XNA游戏框架。XNA发展自游戏界大名鼎鼎的DirectX,是微软对于C#版DirectX的修正和扩充版本。起初该工具也只是面向业余游戏程序员所设计的游戏开发套件。

第一版的XNA只支持Xbox和PC两个平台,在XNA 3.1版中又引入了对Zune的支持。但是XNA迟迟未表态何时支持Windows Mobile平台,以至于众多的游戏开发人员认为微软又一次抛弃了Windows Mobile。现如今微软终于给了我们一个定心丸,XNA将成为Windows Phone 7主要的游戏开发平台。

XNA同以往的游戏开发套件相比,游戏的开发效率有巨大的提升,成本和时间亦大副缩短,这是XNA最大的优势和卖点。其实XNA和众多的.Net Compact Framework程序员来说可谓是同宗同源,因为XNA本身就是构架于.Net Compact Framework,只不过该版本的.Net Compact Framework为支持Xbox芯片进行相应的移植和优化。因此大多数.Net Compact Framework开发人员可以快速切入XNA的学习和开发。

XNA的基础库也和Widows Mobile的.Net Compact Framework基本保持一致,只是额外添加了一些针对游戏开发相关的类库,因此Windows Mobile开发人员在游戏开发上的学习和迁移难度极低,无需又一轮无根基的修炼过程。

除此之外,使用XNA的好处就是C#的快速开发优势,纵观现在Windows Mobile上的游戏开发方式主要有如下三类:

1、 Windows Mobile内置的DirectX Mobile、GAPI或GDI。
2、 Develant Technologies公司的GapiDraw套件。
3、 OpenGL ES。

现如今这些开发方式都已经有了相应的.NET版本封装,于是乎越来越多的Windows Mobile游戏都开始采用C#+.Net Compact Framework以及上述套件进行开发,据笔者所知的就有Flight Commander、Tower Defense等数十款,而且游戏效果亦可与那些使用C++开发的游戏媲美。但是上面三种游戏开发方式各成体系,支持的功能也各有长短,因此选择何种开发套件颇为为难。

再者,OpenGL ES和GapiDraw并无官方版的.NET封装,因此第三方的封装不可避免地存在一些缺陷,导致游戏开发时才意识到问题。最后,就是这三种游戏开发方式的接口并不一致,所以我们每次都无法避免重新学习的过程,开发经验难以最大化地得到复用和积累。

而有.Net Compact Framework 开发经验的程序员在使用XNA开发游戏时虽然也存在一个重新学习过程,但是因为XNA底层封装了游戏开发中常用和较复杂的实现,因此极大地简化了游戏开发的难度。我们可以使用很少的代码就可以实现游戏动画、冲突检测和场景的卷轴滚动等问题。

除此之外,我们还开发的游戏无需太大的改动就可以运行在PC、Xbox、Zune和Windows Phone 7、Silverlight平台上,一举五得,何乐不为!好,废话少叙,开始Platformer游戏的学习征程吧。