《XNA高级编程:Xbox 360和Windows》1-2


1.2免费获取XNA Game Studio Express

     要开始编写代码,您必须确保已经安装了一些工具,其中IDE是您快速开始的一个非常重要的工具。如果您已经安装并配置了XNA Game Studio Express开发环境,您可以跳过这一小节。这部分主要讲了一些提示和技巧,比如怎样在Visual Studio 2005 Professional版本中运行XNA。

系统需求

     在本书写作的时候XNA Game Studio Express只能运行在Windows XP SP2系统下(译者注:现在已经也可以运行在Windows Vista系统下,不过要安装相应的更新程序),之所以需要SP2 是因为.Net 2.0 Framework需要SP2这个条件。其他平台,比如Windows 2003 和Windows Vista也可以运行.Net 2.0,但目前却不受支持。XNA只在32位的平台上进行了测试,不过我在Windows XP x64以及Windows Vista 都测试过并运行很好,即使是作为开发平台。

     因为XNA Game Studio Express基于Visual C# Express,所以它和Visual C# Express 有相同的基本系统需求。Visual C# Express可以运行在Windows 2000 SP4、Windows XP SP2、Windows 2003 SP1、Windows XP x64和Windows Vista平台上,您可以看到,所用的系统越老,需要的补丁包也就越多。

     最后您还需要最新的DirectX Runtimes,如果您是认真对待游戏开发的话,建议安装完整的DirectX SDK。虽然DirectX SDK并不是必须的,但它包含了很多支持文档、游戏示例和指南,当您遇到问题时这些会有很大帮助。比如,DirectX SDK包含帮助您创建DDS纹理文件的工具,这种文件格式经过了最优化处理,是目前最好的图形显卡纹理格式。

     因为XNA和DirectX以及托管DirectX不再支持固定管道功能(Fixed Function Pipeline),所以您还需要一块至少支持Shader Model 1.1的显卡,当然能支持Shader Model 2.0更好。第一块支持Shader的显卡出现在2001年(GeForce 3和ATI 7000),支持Shader Model 2.0的下一代显卡出现在2003年(GeForce 5x和ATI 9x00 Series),并且在2004年很多游戏都利用了Shader技术,比如Far Cry,DOOM 3,Half-Life 2等。Shader Model 3.0(GeForce 6x和ATI x1000 Series)是今天的标准,在2006年晚些时候或者2007年早些时候会出现支持Shader Model 4.0(GeForce 8x)的新的显卡。Xbox 360使用的是Shader Model 3.0的扩展版本。

     所以以下所列的就是安装XNA Game Studio Express的最低配置要求:

  • Windows XP SP2或者Windows Vista
  • 512M内存,当然越多越好
  • 1GHz CPU,当然越快越好
  • 支持Shader Model 1.1的显卡(Nvidia GeForce 3或4,ATI Radeon 7x),当然支持Shader Model 2.0的更好
安装

     在这个地址可以免费获得XNA Game Studio Express的最新版本:http://msdn2.microsoft.com/en-us/xna/default.aspx (译者注:目前这个地址已经可以下载到正式版,而本书使用的是测试版)。

     测试版要求在安装XNA Game Studio Express之前必须先安装Visual C# Express以及最新版本的DirectX 9.0c(译者注:正式版的要求和这个一样),所有这些都是免费的,这就会让很多人,尤其是学生、狂热爱好者以及普通的游戏玩家来体验这样的开发环境,并且有可能让他们比以前对游戏开发更加感兴趣。

     如果您想一步一步地学习安装过程,并且想看看我是怎么安装的,可以看看我录制的一段视频指南,在这里可以查看:http://www.xnaracinggame.com 。

     开始安装XNA Game Studio Express(如图1-7,译者注:该图是XNA Game Studio Express的最新版本的安装界面,而不是原书中使用的测试版),安装过程没有特别的选项操作,安装程序会自己进行一切操作(例如,它还会为Xbox 360测试安装防火墙规则),另外还会添加XNA帮助文档、初学者工具包以及项目模板。

如图1-7

如图1-7

     虽然DirectX SDK不是必须的,但仍然建议安装,可以在这里下载DirectX SDK:
http://www.microsoft.com/downloads/Browse.aspx?displaylang=en&categoryid=2 安装之后可以打开DirectX示例浏览窗口来查看DirectX的最新特性,如果之前没有接触过托管DirectX并且很感兴趣,可以查看帮助文档和指南。

     如果要在Windows系统中使用Xbox 360控制器,可以把它插入您机器的USB口,安装必需的驱动程序之后就应该可以正常工作了。如果不能正常工作,您可以自己下载驱动程序,并查看这里的官方指导:http://www.microsoft.com/hardware/gaming/download.mspx

     在本书中您还会做很多单元测试的工作,我推荐使用NUint和TestDriven.Net,不过NUnit 是外部的DLL,而且TestDriven.Net还不支持Express版本,稍后您会使用一个特殊的类来实现自己的单元测试工具。

     如果您使用的是Visual Studio 2005,我建议使用TestDriven.Net,如果您使用的是Visual Studio Team System,可以使用VS自带的单元测试工具。另外还有其他的单元测试框架可供选择,比如:MbUnit、csUint等等。本书中的示例都会非常简单,只使用了单元测试的最基本的特性。

     您可以在XNA Game Studio Express集成开发环境中做一切您要做的工作,而且微软也鼓励这么做。本书中的所有示例在Express版本中都可以正常工作,同时我也没有使用任何外部的DLL文件(这也是XNA初学者工具包的要求之一)。当然,有些人已经安装了Visual Studio 2005并且感觉在这个环境下开发更舒适,接下来我将介绍几个技巧,让XNA在Visual Studio 2005 Professional版本中也能工作。

使用Visual Studio 2005 Professional ?

     XNA Game Studio Express是一个很好的开发环境,但是如果您更习惯于这样的工作环境:带有像SourceSafe或者其他任何CMS(Content Management System)工具,以及像CodeRush、TestDriven.Net等更有效率的工具插件,那么您会遇到一连串的问题,就像我之前所说的您甚至无法使用Visual Studio 2005打开XNA项目。

     XNA Framework要使用.Net2.0 Framework和DirectX 9.0c,这就是说要在任何Windows环境下运行游戏,必须需要.Net2.0 Framework、DirectX 9.0c以及XNA DLLs。所以在Visual Studio 2005的环境下,安装DirectX SDK之后,您还需要如下两个文件来编译、运行XNA应用程序:
  • Microsoft.Xna.Framework.dll
  • Microsoft.Xna.Framework.Game.dll
     这两个文件在所有的XNA项目中都要被引用,所以把它们添加到Visual Studio 2005的项目中就可以开始编码了,作为开始的训练您可以把使用XNA Game Studio Express创建的空XNA项目中的产生的Game1.cs和Program.cs文件复制过去使用。

     如果您在64位操作系统中进行开发,比如Windows XP x64或者Windows Vista x64,又会出现另一个问题。虽然DirectX 9.0c包含64位的DLL文件,.Net Framework在64位平台上也可以很好地工作,但XNA Framework却只有32位的版本(也叫x86平台),以前在Windows的64位操作系统中使用托管DirectX(Managed DirectX)也会遇到同样的问题,因为它也有32位的版本。使用64位的操作系统并不意味着无法使用32位的应用程序,正相反,现今几乎所有的应用程序都是为32位操作系统编写的,但它们在Windows XP x64和Windows Vista x64平台的32位模式中也能很好地运行。

     既然在64位操作系统中可以运行32位和64位的应用程序,那我为什么又要提出上面的这个问题?原因是一个Windows进程只能运行于32位或者64位其中之一的环境下,而且在64平台下模仿32位的模式执行会很慢甚至可能根本不支持。那么如何在64位环境下让XNA正常工作呢?这个根本不可能,因为目前还不支持。不过,您可以确保让.Net Framework和应用程序在32位模式下运行,Windows就会将整个进程设置在32位模式下,这样就可以让XNA DLLs正常工作,否则您的游戏在任何64位平台上甚至都无法启动。

     在Visual Studio 2005中可以把项目属性中的目标平台从“Any CPU”调整为“x86”,而在XNA Game Studio Express中没有该选项,不过可以在.csproj文件的PropertyGroup节中添加如下代码:

     另外我还写了一个小工具,可以把项目在XNA Game Studio Express和Visual Studio 2005之间相互转换,可以在我的Blog上下载:http://abi.exdream.com

配置您的Xbox 360

     要把Xbox 360连接到您的个人电脑上,您必须先通过Xbox Live Service在Xbox 360上安装XNA Framework。和Windows平台不同的是,Xbox 360上的XNA Framework并不是免费的,您必须要加入“Creator’s Club”,并且还要交纳99美元/年或者49美元/4个月的费用。微软这么做是想对开发人员有所控制,控制台开发通常很封闭,根本没有像Windows和Linux平台中的开源的概念,希望这在将来会有所改观。

     首先确保您的个人电脑和Xbox 360连接在同一个网络中,您不必直接把Xbox 360连接到您的个人电脑,只要在同一网络中即可(通过路由器或调制解调器)。您要确保始终可以通过控制台连接到Internet,而不仅仅是连接到您的个人电脑,因为XNA必须在线连接到您的Xbox控制台。当XNA Framework在您的Xbox 360上安装之后(同时还会安装.NET 2.0 Compact Framework的一个修改版本),您就可以打开XNA Game的管理界面了,如图1-8所示:

如图1-8

如图1-8

     在上面的管理界面中您可以打开自己的游戏项目,也可以从网络上或朋友那里复制一份到您的控制台。在连接到您的个人电脑之前,您要在“设置-创建密钥”工具中生成一个密钥,然后在个人电脑中打开XNA Game Studio Express,在“工具-选项”中添加您的Xbox 360设备,此时会要求输入之前产生的密钥,如图1-9所示:

图1-9

图1-9

     现在您就可以创建Xbox360项目并部署到您的控制台,这些都可以通过XNA Studio来完成。如果使用F5进行调试,同样会部署到控制台,并且可以直接在控制台上进行调试,您一边在个人电脑上一步一步地调试,一边就可以在Xbox 360上看到运行的结果,这是不是很酷呢?
posted @ 2009-01-28 14:25  JulioZou  阅读(2719)  评论(2编辑  收藏  举报