基本信息
源码名称:sdl game development.pdf
源码大小:2.00M
文件格式:.pdf
开发语言:C/C++
更新时间:2021-02-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

用c 和sdl游戏库开发游戏的教程

Table of Contents
Preface 1
Chapter 1: Getting Started with SDL 5
Why use SDL? 6
What is new in SDL 2.0? 6
Migrating SDL 1.2 extensions 7
Setting up SDL in Visual C   Express 2010 8
Using Mercurial to get SDL 2.0 on Windows 8
Cloning and building the latest SDL 2.0 repository 8
I have the library; now what? 10
Hello SDL 13
An overview of Hello SDL 14
SDL initialization flags 16
SDL renderer flags 17
What makes up a game 17
Breaking up the Hello SDL code 18
What does this code do? 20
The Game class 21
Fullscreen SDL 26
Summary 28
Chapter 2: Drawing in SDL 29
Basic SDL drawing 29
Getting some images 29
Creating an SDL texture 30
Source and destination rectangles 32
Animating a sprite sheet 35
Flipping images 37
Installing SDL_image 38
Using SDL_image 40
Table of Contents
[ ii ]
Tying it into the framework 42
Creating the texture manager 42
Using texture manager as a singleton 46
Summary 47
Chapter 3: Working with Game Objects 49
Using inheritance 49
Implementing polymorphism 55
Using abstract base classes 60
Should we always use inheritance? 61
Could the same thing be achieved with a simpler solution? 61
Derived classes should model the "is a" relationship 61
Possible performance penalties 62
Putting it all together 62
Summary 67
Chapter 4: Exploring Movement and Input Handling 69
Setting up game objects for movement 70
What is a vector? 70
Some common operations 72
Addition of two vectors 72
Multiply by a scalar number 73
Subtraction of two vectors 73
Divide by a scalar number 74
Normalizing a vector 74
Adding the Vector2D class 75
Adding velocity 76
Adding acceleration 77
Creating fixed frames per second 77
Input handling 79
Creating our input handler class 79
Handling joystick/gamepad input 80
SDL joystick events 80
Initializing joysticks 81
Listening for and handling axis movement 84
Dealing with joystick button input 91
Handling mouse events 93
Using mouse button events 93
Handling mouse motion events 95
Implementing keyboard input 96
Wrapping things up 98
Summary 100
Table of Contents
[ iii ]
Chapter 5: Handling Game States 101
A simple way for switching states 101
Implementing finite state machines 103
A base class for game states 103
Implementing FSM 106
Implementing menu states 110
Function pointers and callback functions 114
Implementing the temporary play state 117
Pausing the game 120
Creating the game over state 123
Summary 130
Chapter 6: Data-driven Design 131
Loading XML files 131
Basic XML structure 132
Implementing Object Factories 134
Using Distributed Factories 135
Fitting the factory into the framework 138
Parsing states from an XML file 140
Loading the menu state from an XML file 147
Loading other states from an XML file 150
Loading the play state 150
Loading the pause state 152
Loading the game over state 153
Summary 155
Chapter 7: Creating and Displaying Tile Maps 157
What is a tile map? 158
Getting familiar with the Tiled application 160
Parsing and drawing a tile map 165
Creating the TileLayer class 167
Creating the LevelParser class 168
Parsing tilesets 170
Parsing a tile layer 171
Drawing the map 175
Scrolling a tile map 180
Parsing object layers 182
Developing the ObjectLayer class 184
Summary 189
Table of Contents
[ iv ]
Chapter 8: Creating Alien Attack 191
Using the SDL_mixer extension for sound 193
Creating the SoundManager class 193
Setting up the basic game objects 196
GameObject revamped 196
SDLGameObject is now ShooterObject 199
Player inherits from ShooterObject 200
Lots of enemy types 204
Adding a scrolling background 205
Handling bullets 207
Two types of bullets 207
The BulletHandler class 209
Dealing with collisions 211
Creating a CollisionManager class 214
Possible improvements 216
Summary 216
Chapter 9: Creating Conan the Caveman 217
Setting up the basic game objects 218
No more bullets or bullet collisions 218
Game objects and map collisions 219
ShooterObject is now PlatformerObject 219
The Camera class 222
Camera-controlled map 224
The Player class 225
Possible additions 231
Summary 231
Index 233