Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By : Kurt Jaegers
Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By: Kurt Jaegers

Overview of this book

Move beyond the world of flat 2D-based game development and discover how to create your own exciting 3D games with Microsoft XNA 4.0. Create a 3D maze, fire shells at enemy tanks, and drive a rover on the surface of Mars while being attacked by alien saucers."XNA 4 3D Game Development by Example: Beginner's Guide" takes you step-by-step through the creation of three different 3D video games with Microsoft XNA 4.0. Learn by doing as you explore the worlds of 3D graphics and game design.This book takes a step-by-step approach to building 3D games with Microsoft XNA, describing each section of code in depth and explaining the topics and concepts covered in detail. From the basics of a 3D camera system to an introduction to writing DirectX shader code, the games in this book cover a wide variety of both 3D graphics and game design topics. Generate random mazes, load and animate 3D models, create particle-based explosions, and combine 2D and 3D techniques to build a user interface."XNA 4 3D Game Development by Example: Beginner's Guide" will give you the knowledge to bring your own 3D game creations to life.
Table of Contents (16 chapters)
XNA 4 3D Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Time for action – rotating the cube


  1. 1. Add the following declaration to the Fields region of the Cube class:

    private float rotation = 0f;
    private float zrotation = 0f;
  2. 2. Add an Updat e() method to the Cube class as follows:

    #region Update 
    public void Update(GameTime gameTime)
    {
        rotation = MathHelper.WrapAngle(rotation + 0.05f);
        zrotation = MathHelper.WrapAngle(zrotation + 0.025f);
    }
    #endregion
  3. 3. In the Draw() method of the Cube class, add two new items to the list of the generated matrices:

    Matrix rot = Matrix.CreateRotationY(rotation);
    Matrix zrot = Matrix.CreateRotationZ(zrotation);
  4. 4. Still in the Draw() method, replace the current line that sets effect.World with the following:

    effect.World = center * rot * zrot * scale * translate;
  5. 5. In the Update() method of the CubeChaserGame class, add the following line right before the existing call to base.Update(gameTime):

    cube.Update(gameTime);
  6. 6. Execute your game and turn to face the cube:

What just happened?

Just like translation and scaling...