售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
XNA 4 3D Game Development by Example Beginner's Guide
Table of Contents
XNA 4 3D Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introduction to XNA
System requirements
Installing the Windows Phone SDK
Time for action – installing Windows Phone SDK
What just happened?
Speller – Our first XNA game
Time for action – creating an XNA project
What just happened?
Managing content
Time for action – creating content assets
What just happened?
Member variables
Time for action – declaring new member variables
What just happened?
The Game1 constructor
Initialization
Time for action – customizing the Initialize() method
What just happened?
Loading content
Time for action – creating a square texture
What just happened?
Updating
Time for action – customizing the Update() method
What just happened?
The Draw() method
Time for action – drawing Speller
What just happened?
Helper methods
Time for action – words and letters
What just happened?
Time for action – completing the Speller project
What just happened?
Have a go hero
Summary
2. Cube Chaser – A Flat 3D World
Designing the game
3D coordinates
Creating the project
Time for action – creating the Cube Chaser project
What just happened?
Our view of the world
Time for action – beginning the Camera class
What just happened?
The Projection matrix
Looking at something
Time for action – implementing a look-at point
What just happened?
The View matrix
Time for action – the View matrix
What just happened?
From the ground up
Time for action – creating the Maze classes
What just happened?
Drawing the floor
Time for action – drawing the floor
What just happened?
Moving around
Time for action – expanding the Camera
What just happened?
Time for action – letting the player move
What just happened?
Summary
3. Cube Chaser – It's A-Mazing!
Maze generation
Time for action – defining a MazeCell
What just happened?
Time for action – generating the Maze class
What just happened?
Constructing the walls
Time for action – building walls
What just happened?
Time for action – drawing the walls
What just happened?
Solid walls
Time for action – bouncing off the walls
What just happened?
Have a go hero
Summary
4. Cube Chaser – Finding Your Way
The cube
Time for action – placing the cube
What just happened?
Rotating the cube
Time for action – rotating the cube
What just happened?
Matrices – big scary math things?
The translation matrix
The rotation matrix
The scale matrix
Combining matrices
What does it all mean?
Positioning the cube
Time for action – randomly positioning the cube
What just happened?
Catching the cube
Time for action – catching the cube
What just happened?
Have a go hero!
Summary
5. Tank Battles – A War-torn Land
Creating the project
Time for action – creating the Tank Battles project
What just happened?
An arc-ball camera
Time for action – the ArcBallCamera class – part 1
What just happened?
Time for action – finishing the ArcBallCamera class
What just happened?
Building the playfield
Height maps
Generating the terrain
Time for action – generating the terrain
What just happened?
Height data
Time for action – adding the ReadHeightMap() method
What just happened?
Building vertices
Time for action – adding the BuildVertexBuffer() method
What just happened?
Building the indices
Time for action – the buildIndexBuffer() method
What just happened?
Let's see the terrain already!
Time for action – drawing the terrain
What just happened?
Adding texture – a gentle introduction to HLSL
Declaring variables
Time for action – HLSL declarations
What just happened?
The vertex shader structures
Time for action – Vertex Shader Input and Output definition
What just happened?
The vertex shader
Time for action – the vertex shader
What just happened?
The pixel shader
Time for action – the pixel shader
What just happened?
Time for action – utilizing Terrain.fx
What just happened?
Moving the camera
Time for action – moving the camera with the mouse
What just happened?
Summary
6. Tank Battles – The Big Guns
Adding the tank model
Time for action – adding the tank model
What just happened?
Building tanks
Time for action – building the Tank class
What just happened?
Bringing things down to earth
Time for action – terrain heights
What just happened?
Animating the tank
Time for action – tank animation
What just happened?
The combatants
Time for action – positioning tanks
What just happened?
Summary
7. Tank Battles – Shooting Things
Interface components
The UIWidget class
Time for action – creating the UIWidget class
What just happened?
UITextblocks
Time for action – creating UITextblocks
What just happened?
UIButtons
Time for action – creating buttons
What just happened?
Working with our UI objects
Time for action – adding the UIHelper class
What just happened?
Creating the user interface
Time for action – creating the UI
What just happened?
Responding to interface events
Time for action – responding to events
What just happened?
Firing shots
Time for action – ShotManager-part 1
What just happened?
Particles in 3D
Billboarded particles
Time for action – the Particle class-part 1
What just happened?
Time for action – finishing the Particle class
What just happened?
Managing particles
Time for action – the ParticleManager class
What just happened?
HLSL for our particles
Time for action – building Particles.fx
What just happened?
Adding particles
Time for action – implementing particles
What just happened?
Summary
8. Tank Battles – Ending the War
Managing game states
Time for action – implementing a title screen
What just happened?
From Playing to GameOver
Time for action – detecting hits
What just happened?
Managing turns
Time for action – managing turns
What just happened?
Visual improvements
Lighting
Time for action – computing normals
What just happened?
Diffuse lighting
Time for action – HLSL for lighting
What just happened?
Ambient lighting
Time for action – using ambient light
What just happened?
Multitexturing
Time for action – multitexturing
What just happened?
Have a go hero!
Summary
9. Mars Runner
Design of Mars Runner
Getting started with the GSM sample
Time for action – creating the Mars Runner solution
What just happened?
The GameScreen abstract class
Customizing the default ScreenManager screens
Time for action – customizing the BackgroundScreen class
What just happened?
Time for action – updating the menu
What just happened?
Adding a new screen
Time for action – creating the MarsRunnerPlayScreen class
What just happened?
A new camera
Time for action – the stationary camera
What just happened?
Creating the background
Time for action – creating a skybox
What just happened?
Building the Martian surface
Simplified heightmaps
Time for action – beginning the MarsTrack class
What just happened?
Time for action – generating the track
What just happened?
Drawing the track
Time for action – drawing the track
What just happened?
Summary
10. Mars Runner – Reaching the Finish Line
Abstracting support for 3D models
Time for action – the GameEntity class
What just happened?
Building the rover
Time for action –building the rover
What just happened?
Time for action – accepting user input
What just happened?
Animating the planet
Time for action – moving the world
What just happened?
Animating the rover
Time for action – animating the rover
What just happened?
Crashing into craters
Time for action – detecting craters
What just happened?
Adding an enemy
Time for action – the basic flying saucer
What just happened?
Time for action – flying the saucer
What just happened?
Shots and collisions
Time for action – Shot classes
What just happened?
Time for action – the ShotManager class
What just happened?
Enemy shots
Time for action – enemy shots
What just happened?
Time for action – player shots versus aliens
What just happened?
Time for action – enemy shots versus the rover
What just happened?
Scoring
Time for action – scoring
What just happened?
Time for action – the GameOver screen
What just happened?
Sound effects
Time for action – building the SFXManager class
What just happened?
Triggering sounds
Time for action – playing sound effects
What just happened?
Have a go hero!
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜