XNA框架 Windows Phone程式设计


XNA框架 Windows Phone程式设计

文章插图
Windows Phone程式设计(XNA框架)【XNA框架 Windows Phone程式设计】《Windows Phone程式设计(XNA框架)》是2012年出版的图书,作者是Charles Petzold。
基本介绍书名:Windows Phone程式设计(XNA框架)
作者:Charles Petzold
译者:杨帆
ISBN:9787121157677
定价:69.00元
出版时间:2012-3
出版信息《Windows Phone程式设计(XNA框架)》[美]Charles Petzold 着杨帆 译ISBN 978-7-121-15767-72012年3月出版定价:69.00元16开476页在Windows编程传奇人物的指导下,将你的游戏创意变成现实内容简介Windows Phone是微软经过数年曆练,融合了几乎所有的微软产品及服务而推出的创新性智慧型手机平台 。游戏是智慧型手机上必不可少的应用程式,Windows Phone上提供的游戏开发框架是XNA,这是微软的专业跨平台游戏开发框架 。本书的编写兼顾了实用性和创新性,书中的实例是读者很好的学习资源 。全书共分上、下两篇,上篇对比Silverlight和XNA介绍Windows Phone平台的基本概念,具体包括控制程式朝向、触控简介、处理点阵图材质、感测器和服务,以及在程式内传递和保存数据遇到的问题 。下篇主要介绍如何使用XNA开发高性能的二维游戏,具体包括文字和子画面(sprites)的创建,以及动画控制、处理点阵图(载入、从像素基本控制、使用动态的材质)、使用变换、使用触控和感测器来创建游戏 。关于作者Charles Petzold书写基于Windows作业系统上编程的书籍已有24年了 。他是微软客户端应用程式开发的MVP,Windows先驱奖的获得者 。他笔耕不辍,那本经典的《Windows程式设计》现在已经是第五版,是历史上最好的编程书籍之一,另外,其着作《编码:隐匿在计算机软硬体背后的语言》也受到了广泛的讚赏 。引 言重要提示:本书和另外一本Microsoft Silverlight Edition: Programming Windows Phone 7都有完整的索引,它们均来自一本免费的电子书,名为Programming Windows Phone 7 。本书可以从微软出版社的部落格上找到,这本书没有对原始的版本进行任何文字上的修改,也包括原始图片的颜色说明,只是在这本书中以黑白色来显示 。下面是原书的引言,唯一的不同是,“代码示例”的部分是根据本书内容来更新的 。本书是微软的Windows Phone 7项目组给编程社区的一份礼物,笔者有幸成为其中一员 。本书将向读者介绍使用C#程式语言和Silverlight、XNA 2D框架来为Windows Phone 7平台开发应用程式的基本知识 。是的,Programming Windows Phone 7这本书是可以免费下载的,对于依然喜欢纸质书的读者,这本书分成了两个完整索引的列印版本:Microsoft Silverlight Edition: Programming Windows Phone 7和Microsoft XNA Framework Edition: Programming Windows Phone 7 。因为下载了这本书而节省下的钱请您用于购买其他的书籍 。儘管在网路上有大量的信息,书籍仍然是学习编程的最好的方式,因为其有条理并且有完整的辅导方式 。每本书的销售都会带给作者欢乐的眼泪,所以请给予作者肯定和支持 。您可以购买其他书籍来作为本书的补充材料,比如,在本书中,笔者很少谈到Web服务,这部分内容是缺乏的,现在Web服务对于Windows Phone 7应用程式来说变得越来越重要了 。本书对于XNA的内容只是局限于2D的图形编程,作者也希望给本书的下一个版本中加入一些3D的内容,现在的内容也并不完全涉及Xbox LIVE社区角度的游戏编程 。本书没有讨论Visual Studio之外的编程工具,也没有讨论Expression Blend 。本书的发行商微软出版社也有关于Windows Phone 7的其他书籍即将上市:Andy Wigley和Peter Foot的Windows Phone 7 Silverlight Development Step by Step提供了更多的面向工具的方式 。另外,儘管Michael Stroh的Windows Phone 7 Plain & Simple是一本手机的使用嚮导,而不是关于开发的,它也给程式设计师提供了一些洞察力和好想法 。此外,作者也听说老友Doug Boling在编写一本关于Windows Phone 7企业开发的书籍,这应该是一本大作,值得推荐 。本书组织本书分为两篇 。第一篇是讨论Windows Phone 7编程的基本概念,Silverlight和XNA的实例都会使用 。大多数Windows Phone 7的程式设计师都会选择其中一个平台,但笔者认为,程式设计师对于可选的方向具备必要的知识是很重要的 。本书的第二篇是关于XNA 2D的 。为了方便读者阅读,本书的结构编排都是建立在前面章节知识的基础上的,所以推荐的阅读方式是按顺序来阅读 。关于读者的假设这里假设读者具备基本的.NET编程的知识,熟悉C#程式语言 。对于不了解这些知识的读者,可以阅读作者免费的线上书籍.NET Book Zero: What the C or C++ Programmer Needs to Know about C# and the .NET Framework,这本书可以在作者的网站上找到 。系统需求使用本书前,读者需要先下载并安装Windows Phone开发工具,其中会包含针对Windows Phone的Visual Studio 2010 Express版本、XNA Game Studio 4.0,还有一个萤幕上的Windows Phone的模拟器用来在没有手机设备时测试程式 。读者可以从中获取最新的信息并下载 。也可以将这些工具安装在Visual Studio 2010上,这样会给Visual Studio 2010增加手机开发的功能,这也是笔者在使用的配置 。儘管可以使用手机的模拟器来做很多事情,在某个时间点会需要将程式部署到真实的Windows Phone 7的设备上,读者可以在上注册一个开发者账号,然后解锁手机,这样才能通过Visual Studio将程式部署到手机上 。在2010年7月,作者得到一部LG GW910手机来测试本书中的程式,当时手机上安装的版本是7.0.7003.0 。使用手机模拟器Windows Phone 7支持多点触控,这是开发手机程式很重要的一部分 。当使用Windows Phone的模拟器时,滑鼠的单击和滑鼠的移动可以模拟模拟器上的触控,但是只有一个手指 。要想在模拟器上测试多点触控功能,就需要一个多点触控的显示屏,并且允许运行在Windows 7系统下 。如果没有多点触控的显示器,可以使用多个滑鼠来模拟多点触控 。在网站上可以找到相关下载,也有连结到提供教程的网页 。Windows Phone 7设备也有一个内置的加速度仪,这在模拟器 上也是很难模拟的 。Blomqvist(本书的技术审阅人之一)在中发现了一个程式,该程式使用webcam和ARToolkit来模拟加速度仪感测器,并通过TCP/HTTP伺服器将数据传给Windows Phone 7模拟器 。儘管我们还没有尝试,但这看起来也是很有趣的 。代码示例为了介绍Silverlight和XNA的编程概念,本书描述了190个完整的程式,很多程式都是小而简单的,也有一些大的而且更加有趣的程式 。有些人喜欢通过在Visual Studio中重新创建工程并且自己输入原始码来学习新的编程环境 。也有一些喜欢研究已有的代码,并且运行来看看这些代码到底是乾什幺的 。如果是后者,可以在连结的页面中的Companion Content下载到一个ZIP档案,其中包含所有的原始码 。如果觉得那些代码里有对你的项目有用的部分,都是可以免费使用的,而且没有任何限制,你可以直接使用或者根据需要来修改 。最后时刻的内容在本书快完成的时候,第一个版本的Silverlight for Windows Phone Toolkit也已经发布,其中提供了额外的元素和控制项,读者可以在中下载 。在历史上,Silverlight工具包中常常有一些元素和控制项的预览,它们有些会包含在下一个版本的Silverlight发布中 。很遗憾,在本书中没能有一个章节来讨论这个工具包中的内容 。对于XNA的程式,Visual Studio有时候会报错说不能编译或者部署,如果遇到这类问题,可以在解决方案的平台下拉列表中选择“Windows Phone”,而不是“Any CPU”,或者在Build选单的配置管理器中,在活动解决方案的平台下拉列表中选择“Windows Phone”,而不是“Any CPU” 。在作者的个人网站中也包含了本书的信息,或许也有未来版本的信息 。此外,笔者也希望儘可能多地写一些关于Windows Phone 7编程的部落格 。重要的人这本书的出版也要感谢Dave Edson——我的老朋友,我们最早认识要追溯到20世纪90年代早期,我在《微软系统杂誌》(Microsoft System Journal)做特约编辑时,他力荐我是写这本Windows Phone 7教程的最佳人选 。在2009年的12月,Dave就安排我参加微软内部关于手机的深入技术研究,Todd Brix对本书也很支持,Anand lyer负责和微软出版社的协调工作 。在微软出版社,Ben Ryan启动了这个项目,Devon Musgrave负责将我的代码和分散的文章组织成书(我们以前就有交情,回到1998年出版的《Windows程式设计》第五版,在着作权页的底部也可以看到Ben和Devon的名字 。)我的技术审阅者是勤劳的Per Blomqvist,他好像测试了本书中所有的代码和用到的实例,在这个过程中,他找出了书中的很多错误,这真是让人敬佩 。Dave Edson也审阅了本书的部分章节,同时也作为我和Windows Phone产品组之间的桥樑,这使我的一些技术问题和疑问能够得到解决 。从最开始,Aaron Stebner提供了重要的指导,Michael Klucher也审阅了本书的一些章节,Kirti Deshpande、Charlie Kindel、Casey McGee和Shawn Oster也告诉了我一些很重要的东西 。另外,还要感谢Bonnie Lehenbauer审阅了本书的一个章节 。我也感谢Shawn Hargreaves,他具备的XNA专业知识帮了我不少忙,Yochay Kiriaty和Richard Bailey也告诉了我不少关于墓碑机制(Tombstoning)的内幕知识 。我的妻子Deirdre Sinnott很了不起,在过去的数月里,当我面对电脑萤幕有时变得情绪不稳定、疯狂大叫时,她对我总是很有耐心,而且容忍我的行为 。因为我有写书的困难,因此,她也替我分担了不少的家务活 。此外,我也不能责怪本书中还有的bug,因为它们都是属于我的 。Charles PetzoldNew York City and Roscoe, New YorkOctober 22, 2010纠错和书籍支持我们做了最大的努力来确保本书及其附带内容的準确性 。如果您发现任何错误,请给微软出版社的书籍支持发邮件 。(请注意,这个邮件地址不提供对于微软软体的产品支持 。)我们希望听到您的反馈对于微软出版社来说,读者满意是最高的优先权,读者的反馈是最珍贵的财产 。请通过下面的连结告诉我们您怎样看待本书:这个调查很短,我们会阅读您的每一条评论和想法,在此提前对您表示感谢 。保持联繫我们会一直在Twitter上,让我们继续保持联繫吧!目 录上篇 基础第1章 Windows Phone 7简介 1第2章 支持朝向变化 31第3章 触控接口简介 52第4章 点阵图(或称材质) 71第5章 感测器和服务 92第6章 程式架构中的问题 118下篇 XNA第7章 移动的理论 158第8章 材质和子画面 187第9章 动态的材质 217第10章 根据手势进行变换 267第11章 通过触控来玩游戏 339第12章 通过倾斜来玩游戏 407