zoukankan      html  css  js  c++  java
  • 《XNA高级编程:Xbox 360和Windows》41

    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系统以来一直备受欢迎。
  • 相关阅读:
    VS2010 自动跳过代码现象
    Reverse Linked List II 【纠结逆序!!!】
    Intersection of Two Linked Lists
    Linked List Cycle II
    Remove Nth Node From End of List 【另一个技巧,指针的指针】
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Remove Duplicates from Sorted List
    Linked List Cycle
    Dungeon Game
  • 原文地址:https://www.cnblogs.com/AlexCheng/p/2120326.html
Copyright © 2011-2022 走看看