§4.0概览

本章讨论Game 类背后的构思,以及你能为之添加的组件。为了在下一章建立你的图像引擎并且运行,在开始3D概念之前,你还需要一些新的辅助类。BaseGame通常实现更多的特性,并且包含至今为止其他所有你写过的类。它被Game类继承,以利用XNA所有现成的特性。我们的主测试类TestClass以同样的方式继承于BaseGame,以帮助你执行游戏中的静态单元测试。然后你将添加TextureFont 类到你的Helpers命名空间,以允许你在屏幕上绘制文本,这不可能是XNA中的超纲内容。最后,你也把一些现成的功能,例如来自于前几章的输入、控制器处理、声音输出,添加到一些特制的类中,以便于更容易编写一个新游戏。本章使得你在后面要开发的游戏成为一个原型范例,而不仅仅是进行一些普通的设想。

对照上一章,你将不再先写任何辅助类,取而代之的是将要首先编写单元测试和游戏类,然后添加所有在工程项目需要的游戏组件。在最后的少数项目中,问题相当简单,并且一旦你解决它们就再也不会经历了。对于本章你要开发的游戏将要进行许多改进,随着游戏项目越来越大你会看到这一点越来越正确。你必须记住当现有代码不能胜任以及改进游戏的时候,重构仍然是最重要的事。有时你甚至将会看到用在单元测试的代码终止在最终游戏代码的某处。

一个简单的Tetris克隆被用来作为一个简单的范例游戏。它的特色是彩色砖块掉落在一个大型比赛场地,支持键盘和gamepad 输入,next block 区域展示给你将到来的下一转块,一个小型记分板,包含了当前level关卡、分数、最高分纪录和你消灭的行数。如果你像我一样是Tetris的爱好者,并且每次喜欢玩上一会儿这游戏,就太好了。俄罗斯方块曾经是最流行的解谜类街机游戏。它在1985年被俄罗斯人Alexey Pazhitnov发明,并且自1989年Nintendo 在 Game Boy 系统上发布以来就变得非常流行。


发布时间:2008/6/25 下午4:20:24  阅读次数:5094

2006 - 2024,推荐分辨率 1024*768 以上,推荐浏览器 Chrome、Edge 等现代浏览器,截止 2021 年 12 月 5 日的访问次数:1872 万 9823 站长邮箱

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号