获取免费的XNA Game Studio Express

要立刻开始编码,你必须确定你安装了恰当的工具,IDE是快速起步的一个尤其重要的工具。如果你已经完成了XNA Game Studio Express的安装和配置,你可以越过这一个章节。 写这个部份仅仅以防有人需要另外的技巧和窍门。例如,如何在Visual Studio 2005 Professional 运行 XNA,就是在这里覆盖的内容,这是不被支持的超纲内容,但是相当有用,如果你使用Visual Studio 插件或者像SourceSafe 的工具(例如,为了更好的在团队中工作)。

系统要求

在写这本书的时候,XNA Game Studio Expres定位于Windows XP SP2(SP即Service Pack)。SP2之所以很重要是因为.Net 2.0框架的需求。其他平台,像Windows 2003 或者 Windows Vista 也可以运行.Net 2.0,但是没被支持。XNA也是唯一被测试在32位平台,但是我也在Windows XP x64 和Windows Vista 上测试了它,而且运行得很好,甚至也可以作为一个开发平台。

因为XNA Game Studio Express 基于Visual C# xpress ,所以它们有相同的基本需求。毫无疑问,你起码需要一台计算机。要不是游戏发展,你有高得多的基本需求,我立刻就会谈论到。 Visual C# 能运行在Windows 2000 SP4、Windows XP SP2、Windows 2003 SP1、Windows XP x64 和Windows Vista。如你所见,越旧的操作系统,需要更多的的SP包。

而且最后你也需要最新的DirectX 运行时,而且如果你对游戏发展非常关注,有完整的DirectX SDK就更好了。DirectX SDK 不是必需的,因为 它的dll仅仅在DirectX的dll之下被调用。但是在你的系统上有更多一些文档总是有用的,而且DirectX 包含了许多范例和指南。如果你陷入麻烦中,指南就很有用。例如,DirectX SDK 包含了帮助你产生DDS纹理文件的工具,这种格式是当今所能获得的最好的显卡纹理格式。

因为XNA不再像DirectX或者托管的DirectX那样支持固定功能管道,所以拥有至少支持Shader Mode1.1 或更新的Shader Mode 2.0的显卡就很重要。第一块支持着色器(shader)的显卡是2001年的(GeForce 3 和 ATI 7000);下一代显卡支持Shader Model 2.0(GeForce 5x, ATI 9x00系列)于2003年被制造,并且在2004年许多得益于着色器(shader)的游戏(例如,Far Cry, Doom 3, Half-Life 2)流行开来。Shader Model 3.0 (GeForce 6x, ATI x1000 系列)是今天的标准,新的支持Shader Model 4.0 (GeForce 8x系列)的显卡将在2006年底或07年初上市。XBox 360使用的是Shader Model 3.0 的扩展版。

因此这是你在尝试安装XNA Game Studio Express之前的最小需求:

  • Windows XP SP2 或Windows Vista

  • 512 MB内存,最好1 或 2GB

  • 1 GHz CPU,越快越好,编译能更快

  • Shader Model 1.1 显卡 (Nvidia GeForce 3或4,ATI Radeon 7x) 或更好的Shader Mode 2.0

安装

http://msdn.microsoft.com/directx/xna/.可以免费得到最新版的XNA Game Studio Express。

Beta版本仍然需要你首先安装Visual C# Express和最新版的DirectX 9.0c。 当最终版本被运送的时候,这很可能仍然是事实。 所有的这些下载完全免费,获得所有的工具而没有任何棘手的代价,真是一件好事。这让更多人,尤其学生、爱好者和普通玩家,能够检验开发环境,甚至可能得到比关于游戏发展更加兴奋的事。

如果你想要一个按部就班的对安装过程介绍,并且看我操作步骤。你也可以在http://www.xnaracinggame.com观看视频指南,这是我的官方XNA 竞速游戏起步。

开始安装 XNA Game Studio Express(见图 1-7) 。没有什么你必须选择的特别选项;installer会为你做每件事(例如, 添加Xbox 360 测试的防火墙规则)。installer还添加了 XNA 帮忙,启动工具箱和你要开启的工程项目模版。

201007210857
图 1-7

你不真的需要 DirectX SDK,但是无论如何建议在它被推荐之前安装它。 你将会获得额外的文档和一个指南和范例的全部列表,以防你为了图像引擎需要更多的关于常规技术的资讯。你能在 http://msdn.microsoft.com/directx/.下载来自于微软DirectX开发者中心主页的DirectX。

安装时你也可以选择自定义安装步骤的Redistributable。 如果你想要在其他计算机上安装你的游戏,你将会需要它。 当 DirectX 被安装的时候,你能通过DirectX 范例浏览器检验其最新特性。如果你以前还没有处理过托管版 DirectX 而且对它感兴趣,可以检查文档和指南。如果在你的Windows机器上 (能够运行得益于控制器使用USB) 想使用一个 Xbox 360 控制器,你只需要把它插到PC上,并且在它自动安装所需驱动之后,应该在Windows XP和 Vista上工作良好。如果不能为你自动工作,因为你也需要亲自下载驱动程序,并且在http://www.microsoft.com/hardware/gaming/download.mspx搜索来自微软产品的官方硬件网站的指导。

最后而不是至少,你将会在这本书中做许多单元测试,并且为之我通常推荐 NUnit 和 TestDriven.NET。但是因为 NUnit 是一个外部的dll,而且TestDriven.NET 不再被Express Edition支持,所以后面你将会以一个特殊的类来实现你自己的单元测试。

如果你使用Visual Studio 2005,我建议使用TestDriven.NET,而且如果你正在使用Visual Studio 2005 Team System,你也可以在VS直接使用Unit Testing特性。 可供选择的还有其他的单元测试框架(例如MbUnit,csUnit等等)。本书的大部份的范例试着使事物保持简单,并且只使用非常基本特性的单元测试,而且使之看上去像许多测试程序一样。

你无疑能在XNA Game Studio Express IDE中做所有的工作,而且微软鼓励你这么做。本书所有的范例在 Express Edition工作良好,而且我没有使用任何外部的dll(这也是XNA Starter Kits的需求之一)。然而,一些人已经有Visual Studio 2005,而且可能感觉在那里编码更舒服。阅读一系列如何使用Visual Studio 2005 Professional处理XNA的窍门吧。

Visual Studio 2005 Professional怎么样?

xgs2.0已能被?Visual Studio 2005 Professional支持,以下一段可以不看(译者注)

?XNA Game Studio Express 是美好的工作环境。然而,如果你习惯于像SourceSafe 一样的工具或者任何其它CMS(内容管理系统) ,或者像CodeRush插件,TestDriven.NET 和其他的生产工具。你将会陷入成捆的问题。就像我早先说过,用Visual Studio 2005 打开XNA工程项目甚至是不可能的。 XNA框架使用.Net 2.0框架和DirectX 9.0c。这意味着在任何Windows PC上运行游戏,它都需要.Net 2.0框架、DirectX 9.0c和 XNA dll。如果你是一个游戏开发者,无论如何你要有最新的DirectX SDK,而且你有Visual Studio 2005的话,也就有了.Net 2.0框架。因此你需要做的唯一事情是运行,甚至编译XNA 应用程序是这两个XNA dll:

  • Microsoft.Xna.Framework.dll

  • Microsoft.Xna.Framework.Game.dll

这些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 框架中,它只能用在操作系统的32 位版(某种表述是 x86)。使用64 位Windows操作系统的人们,有一个和过去使用托管版 Managed DirectX相同的问题,只能使用32位版本。使用64 位操作系统不意味着你再也不能使用32 位应用程序;恰恰相反。今天存在的几乎所有应用程序是在32 位操作系统编写的,但是它们在Windows XP x64 或 Windows Vista x64 中可以以32 位兼容模式运行良好。

如果你能在64位操作系统上运行32位和64位应用程序,为什么我要特别提出这个问题? 好吧,在32位应用程序你不能使用64 位程序集(dll) ,反之亦然。原因就是,一个Windows进程必须被运行在64 位或32 位; 用64位模拟的32位会太慢而且甚至不被支持。现在,在64 位模式中,如何让XNA工作?不,你不能。它正好没被支持。取而代之的是,的你必须确保 .NET Framework 和你的应用程序以32bit 模式运行,然后Windows将会用32位模式启动整个进程,并且你正好可以加载XNA dll。如果你不这么做,你的游戏甚至不能够在任何的x64 位平台上被启动。

在Visual Studio 2005,你仅仅能选择“x 86”平台而并非“所有处理器”在Properties--〉Build屏幕。在 XNA Game Studio Express,没有这样的选项,而且如果你想要同样的设置,你不得不在每个PropertyGroup区域添加下列一行到你的.csproj 文件:

<PlatformTarget>x86</PlatformTarget>

我也写了一个把XNA Game Studio Express工程项目转换为Visual Studio 2005工程项目的工具,而且它也能处理x 64位的问题。你能在 http://abi.exdream.com我的博客上下载它。

配置你的Xbox 360

要把Xbox 360 连结到PC,首先你必须经由Xbox Live Service在Xbox 360上安装XNA 框架。不像在Windows平台下载XNA框架,Xbox 360 的XNA框架不是免费的。你将必须加入“Creator’s Club”,通过Xbox Live Marketplace 每年捐献99美元,或每四个月49美元。微软这样做是为了对开发者有一点控制。控制台的发展通常非常封闭,而且没有Windows或 Linux 世界的开源思想。 我们所能希望的只是这一点将发生改变。

首先,确定你的PC和 Xbox 360 被连接到同一个的网络。你不一定要把Xbox 360直连到你的PC ;仅仅是插入到相同的网络(路由器或调制解调器)。这很重要,你总是可以通过控制台访问Internet,而不仅仅是你的PC,因为 XNA 需要你的控制台连接Xbox Live。一旦,你在 Xbox 360 上安装了 XNA 框架,这也包括了定制的运行在控制台上的.NET 2.0 Compact Framework,你能启动XNA Game Launcher 了(见图1-8).

 201007210858
图 1-8

在XNA Game Launcher中,你现在启动你的游戏工程项目或者拷贝来自于你的朋友或nternet的XNA游戏了,而且在你的控制台上启动它们。

在连接PC之前,你首先必须通过点击“设置”和“Create Encryption Key”来产生一个密钥。你现在将会看到密钥;不要关闭视窗。在你的PC上打开XNA Game Studio Express,进入Tools--〉Options,并且下拉滚动条。你将会见到新的XNA Game Studio选项。在这里你能添加Xbox 360 而且键入你的密钥,而且只需点击添加。(如图1-9)

 201008210859
图 1-9

在你成功地键入密钥之后,你在PC和控制台上都能点击OK。如果操作失败或者你重新安装XNA Game Studio,你总是需要得到一个新的密钥,而且在这里再一次输入它。

从现在开始,你能为控制台创建Xbox 360 工程项目而且配置它们,这能在 XNA Studio 的菜单中做build。如果你按F5 开始debug一个工程项目,它也会开始部署,而且你也可以在你的控制台上直接debug。这样做很酷,因为你能通过PC代码,而且立刻看到在Xbox 360(免费的多监视器的开发类型)上的结果。在第2章,你可以阅读更多有关运行第一个游戏的内容。