v

您的位置:VeryCD图书计算机与网络

图书资源事务区


《C#游戏编程》(C# Game Programming: For Serious Game Creation)(Daniel Schuller)文字版,英文原版[PDF]

  • 状态: 精华资源
  • 摘要:
    出版社Delmar Learning
    发行时间2010年
    语言英文
  • 时间: 2010/09/15 21:39:01 发布 | 2010/09/17 22:03:47 更新
  • 分类: 图书  计算机与网络 

catti

精华资源: 5

全部资源: 5

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名C#游戏编程
原名C# Game Programming: For Serious Game Creation
资源格式PDF
版本文字版,英文原版
出版社Delmar Learning
书号978-1435455566
发行时间2010年
地区美国
语言英文
简介

IPB Image

内容简介:

即使有经验的游戏开发学生有时也很难为一个伟大的游戏成为现实的设想。可用的编程语言,库数量,生产方式可以使开发过程中最复杂和不可靠的游戏的代码的结果。 C#中游戏程序设计:显示学生创作的严肃游戏的游戏程序员如何编写简单,清洁,可靠的代码循序渐进的方式,通过建立一个基本的游戏步骤。游戏是使用C#中,一个高层次的编程语言和OpenGL,为业界最喜爱的图形显示。学生们将获得一个方法and用来建立良好的游戏,学习如何使用这些库和create你的own,并最终建立您自己的滚动射击游戏库overview。他们甚至会找到如何开发自己的游戏的创意,你就会有一个良好的代码基础工作的提示和信息。 C#中游戏程序设计:为客户提供一个严肃游戏的创造的所有信息类大学生,他们需要采取from概念他们的游戏理念,以completion.Copyright ©里德Business信息,作为Reed Elsevier公司的表决保留所有权利。 - 这个文本是指印刷或无法版这个称号了。

Editorial Reviews
Product Description
Even experienced game developers sometimes have a hard time making their vision for a great game a reality. The number of available programming languages, libraries, and production methods can make the development process overwhelming and result in complicated, unreliable game code. C# Game Programming: For Serious Game Creation shows programmers how to write simple, clean, and reliable code step-by-step through the creation of a basic game. The game is built using C#, a high-level programming language, and OpenGL, an industry favorite for graphics display. You'll get an overview of the methods and libraries used to build good games, learn how to use those libraries and create your own, and finally build your own scrolling shooter game. You'll even find tips and information on how to develop your own game ideas and you'll have an excellent code base to work with. C# Game Programming: For Serious Game Creation provides you with all the information you need to take your game ideas from concept to completion.
About the Author
Daniel Schuller is a British-born computer game developer who has worked and lived in America, Singapore, Japan, and is currently working in the United Kingdom. He has released games on the PC as well as the Xbox 360 and PlayStation 3. He has developed games for Sony, Ubisoft, Naughty Dog, RedBull, and Wizards of the Coast, and maintains a game development website at http://www.godpatterns.com. In addition to developing computer games, Daniel also studies Japanese and is interested in Artificial Intelligence, cognition, and the use of games in education.
IPB Image



目录

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xii
PART I BACKGROUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1 The History of C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
C# Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Versions of C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C# 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Generics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Anonymous Delegates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
C# 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Lambda Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Object Initializers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Collection Initializers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Local Variable Type Inference and Anonymous Types. . . . . . . . 13
C# 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Dynamic Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Optional Parameters and Named Arguments. . . . . . . . . . . . . . . 15
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chapter 2 Introducing OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Architecture of OpenGL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Vertices—The Building Blocks of 3D Graphics . . . . . . . . . . . . . . . . . . . 21
The Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
OpenGL Is Changing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
OpenGL ES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
WebGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
OpenGL and the Graphics Card. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Shaders—Programs on the Graphics Card . . . . . . . . . . . . . . . . . . . . . . . 27
The Tao Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Chapter 3 Modern Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Pragmatic Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Game Programming Traps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
KISS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
DRY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Source Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Using Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Test Driven Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Unit Testing in C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
PART II IMPLEMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Chapter 4 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Introducing Visual Studio Express—A Free IDE for C# . . . . . . . . . . . . . . . 49
A Quick Hello World. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Visual Studio Express Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Automatic Refactoring and Code Generation . . . . . . . . . . . . . . . . .53
Renaming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Creating Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Separating Chunks of Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
Subversion, an Easy Source Control Solution . . . . . . . . . . . . . . . . . . . . . . 60
Where to Get It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Creating the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Adding to the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Extending Hello World. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Tao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
NUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Using NUnit with a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Running Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
An Example Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Chapter 5 The Game Loop and Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . 81
How Do Games Work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A Closer Look at the Game Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Implementing a Fast Game Loop in C# . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Adding High-Precision Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Full Screen Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Clearing the Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Vertices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
Triangles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Coloring and Spinning the Triangle . . . . . . . . . . . . . . . . . . . . . . . . .101
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Chapter 6 Game Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
The Basic Pattern of a Game Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Handling Game State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Game State Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Setting the Scene with Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Form Size and OpenGL Viewport Size . . . . . . . . . . . . . . . . . . . . . . . . . 114
Aspect Ratio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
The Projection Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2D Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Sprites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Positioning the Sprite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Managing Textures with DevIl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Textured Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Alpha Blending Sprites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Color Modulating Sprites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A Sprite and Renderer Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Using the Sprite Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
viii Contents
Chapter 7 Rendering Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Font Textures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Font Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Parsing the Font Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Using the CharacterData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Rendering Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Calculating the FPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
V-Sync and Frame-Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Refining the Text Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Faster Rendering with glDrawArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Modifying the Renderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Profiling the Batch Draw Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 8 Game Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Trigonometric Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Plotting a Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Trigonometric Functions for Special Effects . . . . . . . . . . . . . . . . . . . . 176
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
What Is a Vector? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
The Length Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Vector Equality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Vector Addition, Subtraction, and Multiplication . . . . . . . . . . . . . . . 184
Normal Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
The Dot Product Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
The Cross-Product Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Finishing Touches to the Vector Structure. . . . . . . . . . . . . . . . . . . . . . 196
Two-Dimensional Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Tweens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
An Overview of Tweening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
The Tween Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Using Tweens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
What Is a Matrix? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
The Identity Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Matrix-Matrix and Vector-Matrix Multiplication . . . . . . . . . . . . . . . . 217
Chapter 7 Rendering Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Font Textures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Font Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Parsing the Font Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Using the CharacterData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Rendering Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Calculating the FPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
V-Sync and Frame-Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Refining the Text Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Faster Rendering with glDrawArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Modifying the Renderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Profiling the Batch Draw Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 8 Game Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Trigonometric Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Plotting a Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Trigonometric Functions for Special Effects . . . . . . . . . . . . . . . . . . . . 176
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
What Is a Vector? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
The Length Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Vector Equality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Vector Addition, Subtraction, and Multiplication . . . . . . . . . . . . . . . 184
Normal Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
The Dot Product Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
The Cross-Product Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Finishing Touches to the Vector Structure. . . . . . . . . . . . . . . . . . . . . . 196
Two-Dimensional Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Tweens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
An Overview of Tweening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
The Tween Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Using Tweens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
What Is a Matrix? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
The Identity Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Matrix-Matrix and Vector-Matrix Multiplication . . . . . . . . . . . . . . . . 217
Translating and Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Matrix Operations on Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Modifying the Sprite to Use Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . 225
Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Chapter 9 Making the Game Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
A New Game Engine Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Extending the Game Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Using the Game Engine in a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Multiple Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Adding Sound Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Creating Sound Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Developing a SoundManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Improving Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Wrapping Game Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Adding Better Mouse Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Adding Keyboard Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Chapter 10 A Simple Side-Scrolling Shooting Game. . . . . . . . . . . . . . . . . 289
A Simple Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
The First Implementation Pass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
The Start Menu State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The Inner Game State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
The Game Over State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Developing the Inner Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Moving the Player Character. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Faking Movement with a Scrolling Background. . . . . . . . . . . . . . . . . 320
Adding Some Simple Enemies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Introducing Simple Weapons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Damage and Explosions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Managing Explosions and Enemies . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Level Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Enemy Movement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Enemy Attacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Continuing Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有52网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。