Fyter的博客

技术资讯 源码共享

Windows Phone 7平台XNA框架简介

 

2011年08月31日00:05 来源:机械工业出版社 作者:倪浩 李鹏 苏世耀 编辑:景保玉

IT168技术】本章介绍Windows Phone 7平台下的XNA开发技术,包括XNA的概述、类库等理论知识,最后通过一个例子介绍XNA的游戏架构以及生命周期。游戏开发是智能手机的一个重要领域,XNA是Windows Phone 7平台上游戏开发的主要工具,限于篇幅,本章只是对XNA做一个大致介绍。通过阅读本章,读者可以对XNA的框架有初步的理解,也为以后深入学习XNA做准备。

image

学习重点:

了解Windows Phone 7下XNA的概念。

了解Windows Phone 7下XNA的类库功能。

了解Windows Phone 7下XNA开发的游戏程序结构。

一、 XNA简介

XNA作为Windows Phone 7全新的开发平台提供了优异的图形及游戏性能,也为Windows Phone 7手机增添了强劲的活力。

1、XNA概述

XNA是微软公司推出的所谓“通用软件开发平台”,是基于DirectX的游戏开发平台,是微软公司对于Managed DirectX的修正及扩充版本。它的目标是帮助开发者更加方便快捷地创建优秀、快速和跨平台的游戏。XNA中,X代表能够在DirectX和Xbox之间达到跨平台的强大的软件工具;N代表下一代(Next Generation);A代表架构(Architecture)。以DirectX为原型,微软公司希望把XNA发展为所有游戏开发平台的通用标准。如此一来将实现游戏开发工具的无缝嵌入和平滑过渡。

2、XNA发展过程

XNA的发展过程如下:

1)2004年5月12日,微软公司在第十届全球电子企业展销会上提出了XNA技术。

2)2005年3月17日,微软公司在GDC(游戏开发者讨论会)上,正式发布针对新一代游戏开发的跨平台整合型游戏开发套件“XNA Studio”。

3)2006年3月20日,微软公司在GDC上发布了XNA Framework游戏开发技术。XNA Framework构建于.NET Framework上,添加了主要用于游戏应用开发所需的类别库,在指定的平台上使游戏代码的重复利用率达到最大,降低跨平台游戏开发的难度,让游戏开发者可轻松地以C# 语言进行跨PC和Xbox 360平台的游戏开发。该技术整合在跨平台开发套件“XNA Studio”中。

4)2006年8月30日,微软公司发布为业余游戏制作者所设计的游戏开发套件XNA Game Studio Express Beta1,同年11月1日,又发布了XNA Game Studio Express Beta2。

5)2007年4月24日,微软公司发布XNA Game Studio Pro版本。

6)2007年12月13日,微软公司发布XNA Game Studio 2.0版本,该版本的特点是可以在Visual Studio 2005的各个版本中使用XNA开发项目。

7)2008年10月30日,XNA Game Studio 3.0正式版发布,支持C# 3.0、LINQ和各个版本的Visual Studio 2008。

8)2009年6月11日,微软公司发布XNA Game Studio 3.1版本,新版本提供Video Playback、Revised Audio API。

9)2010年3月9日,微软公司在GDC上发布了XNA Game Sudio 4.0版本,该版本支持在Windows Phone 7平台上开发XNA游戏。

3、XNA特点

相对于微软公司以前的手机操作系统来说,在游戏开发技术上,Windows Phone 7采用XNA技术是一个很大的突破点。归纳起来XNA游戏开发有以下特点:

① 加快游戏开发的速度。以前使用DirectX来开发Windows平台游戏,游戏开发公司大概花费80%的时间在程序开发上,而在游戏的创意上仅占20%。而使用XNA.NET Framework进行游戏开发,大大减少了开发者的工作量,不仅降低了开发的成本,而且在游戏开发上可以更加关注游戏的创意。

② 开发的游戏可以在Windows与Xbox 360之间跨平台运行,同时它更加易用,有更高的扩展性。XNA Framework把所有用作游戏编程的底层技术封装起来,由此,游戏开发员就可以把精力大部分专注于游戏内容和构思开发,而不用关心游戏移植至不同平台上的问题,只要游戏开发于XNA的平台上,支持XNA的所有硬件都能运行。

③ 支持2D与3D游戏开发。XNA Framework同时支持2D和3D的游戏开发,也支持XBox 360的控制器和震动效果。

4、XNA游戏模型

XNA Framework包括以下3个核心部分(如图4-1所示)。

image
▲图4-1 XNA架构组成

在Microsoft.XNA.Framework Pipelinet.dll中的XNA Graphic Engine(图形引擎)。

在the Microsoft.XNA.Framework Pipelinet.dll中的XNA Game Application Model(应用程序模型)。

在Microsoft.XNA.Framework Pipelinet.dll中的XNA Content Pipeline(内容管道)。