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


4.1本章概览


     本章主要讨论Game类的基本原理以及游戏组件的相关概念。下一章您将开发自己的图像引擎,但在这之前您还需要几个新的辅助类。其中BaseGame类用来实现更多的特性,而且它会使用到目前所有其他辅助类。该类继承自Game类(Microsoft.Xna.Framework.Game),以便使用所有现有的XNA特性。同样地,主测试类TestGame继承自BaseGame,用来执行游戏中的静态单元测试。另外还有TextureFont类,让您可以在屏幕上绘制文本,which is not possible out of the box in XNA。最后,再添加一些前几章实现的功能,比如用户输入、控制器处理以及声音输出,把它们封装到特殊的类中,这样在开发一个新游戏的时候,事情会变得更加简单。本章将使用一个实际的游戏例子来进行讲解。

     和前一章不同的是,本章不是从写辅助类开始,而是从写单元测试和游戏主类入手,然后再陆续添加需要使用的游戏组件到项目中。在前面的几个项目中,所遇到的问题都很简单,一旦解决了就没必要再进行改进。但本章要开发的游戏,有很大的改进空间,而且游戏项目越大,这一点就越明显。在处理旧有的代码以及改进游戏的时候,代码重构仍然是您必须要谨记的最重要的事情。有时,您甚至会发现单元测试中的代码片段居然结束于最终发布的游戏代码中。

     这里我们将使用一个俄罗斯方块游戏作为示例来讲解。它支持键盘和gamepad输入,有一个很大的游戏区,会有不同颜色的方块向下落,有一个区域显示下一个是什么方块,还有一个分数面板显示当前级别、分数以及消除了几行砖块。如果您也像我一样,是一个俄罗斯方块游戏迷而且经常玩的话,那这个游戏对您来说会非常有意思。俄罗斯方块是最受欢迎的puzzle arcade游戏之一,它是俄罗斯人Alexey Pazhitnov1985年发明的,自Nintendo1989年把它发布到Game Boy系统以来一直备受欢迎。

posted @ 2009-01-28 15:36  JulioZou  阅读(1008)  评论(3编辑  收藏