





本书展示了如何利用VB.NET强大的功能创建令人激动的、功能齐全的游戏。因为在.NET中可以利用DirectX 9,所以读者现在不需要使用复杂的C++代码就可以编写各种奇特的游戏。本书不是一本介绍VB.NET的全面指南,但是读者可以在开发各种有趣游戏的过程中开发学习如何编写VB.NET程序。 开发游戏是一项具有挑战性的工作,而面临的挑战根据游戏的不同而各异。本书剖析了五个不同的游戏,读者可以从中发现如何解决不同的问题。例如,如何创建一个简单的游戏框架?如何将二维游戏转换成三维游戏?如何创建具有人工智能的游戏特征?如何编写通过网络运行的游戏?在本书中,我们将为上述问题以及其他一些问题提供答案。这些答案将在介绍二维及三维Spacewar等游戏时给出。
游戏始于一个好的构想 尽管现在发布的游戏越来越倾向于图形化,但是游戏的主要特点“可娱乐性”,却在有些时候被遗忘了。 尽管游戏中那些惊险的图形画面、精彩的情景切换和3-D图形世界简直让我们眼花缭乱,但是它们有很多内容其实都不适合用户。有时候,即使一个游戏得到的反响很好,但游戏的可娱乐性却是不明确的或者是比较失败的。 您觉得旧版本的Pac-Man游戏怎么样呢?凭借其华丽的游戏环境,Pac-Man游戏以及早期版本的Mario Brothers on Nintendo游戏在孩子们中间仍然大受欢迎。 这里,我们的目的不是让您忘记所有的事情而过分地关注这些基本点。相反,我们希望您能够牢记:一个好的游戏总是始于一个好的构想,有时候,仅这一点就已经足够了。 引用最为普遍的一个游戏是Tetris(俄罗斯方块),它是由一个俄国编程人员单独开发的。这些年过去了,这个程序依然非常有意义,而且,我们也在本书的第1章复制了一个Tetris游戏程序—— 我们的“Hello World”程序。 当然,您可能会说“Tetris”只是成千上万个游戏程序中的一个,这一点我们也同意。但是如果您说“只有像Tetris那样简单的游戏,才可能只需一个人就可以较好地单独创建完成”,那么我们将不同意您的这种观点。年长一些的人们可能还记得Another World游戏,此游戏具有一个续集,称为FlashBack。该游戏具有的图形界面和音效对于那个时代而言非常好,并且它还具有漂亮的人物动画,以及各种各样的情景切换,这些情景切换通过“在不同视角显示游戏人物和奇异的世界”来完成游戏情节,而这个游戏也是由一个人单独设计的...
1.1 GDI+基本概念 1
1.1.1 路径梯度 2
1.1.2 α混合 2
1.1.3 基数样条函数 2
1.2 使用Graphics对象执行图形操作 3
1.2.1 使用PaintEventArgs参数创建Graphics对象 4
1.2.2 使用窗口句柄创建Graphics对象 4
1.2.3 从图像中创建Graphics对象 5
1.2.4 从一个指向设备上下文的特定句柄创建Graphics对象 5
1.3 创建梯度 5
1.4 冲突检测 7
1.4.1 限定框算法 7
1.4.2 邻近性检测算法 11
1.5 优化计算量 15
1.5.1 平铺游戏区域 16
1.5.2 位分区 16
1.5.3 位数组分区 18
1.6 把算法扩展到三维图形情况下 19
1.7 游戏开发方案 20
1.8 游戏项目开发 21
1.8.1 类图:最初设计 22
1.8.2 游戏引擎 23
1.8.3 类图:最终设计 24
1.9 编码阶段 25
1.9.1 概略设计:编写Square类 26
1.9.2 第二阶段设计:编写Block类 29
1.10 最终设计:编写GameField类和游戏引擎 43
1.11 添加最终修饰 50
1.11.1 关于如何显示下一个方块的编码设计 50
1.11.2 关于游戏暂停方式的编码设计 51
1.11.3 关于窗口重绘的编码设计 52
1.11.4 进一步改进 5... 查看详情