基本信息
    
    
        
    
    
        
        
    
    
        
        
    
    
    
        源码名称:sdl game development.pdf
源码大小:2.00M
文件格式:.pdf
开发语言:C/C++ 
更新时间:2021-02-25
               友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
            
            
            
            
        
        
        嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
                
                微信扫码支付:2 元
        ×
        
请留下您的邮箱,我们将在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