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 – moving the camera with the mouse


  1. 1. In the TankBattlesGame class, add five fields to the declarations area:

    Point screenCenter;
    Point saveMousePoint;
    bool moveMode = false;
    float scrollRate = 1.0f;
    MouseState previousMouse;
  2. 2. In the Initialize() method of the TankBattlesGame class, add the following before the call to base.Initialize():

    screenCenter.X = this.Window.ClientBounds.Width / 2;
    screenCenter.Y = this.Window.ClientBounds.Height / 2;
    
    this.IsMouseVisible = true;
    
    previousMouse = Mouse.GetState();
    Mouse.SetPosition(screenCenter.X, screenCenter.Y);
  3. 3. In the Update() method of the TankBattlesGame class, add the following before the call to base.Update():

    if (this.IsActive) {
    
      MouseState mouse = Mouse.GetState();
    
      if (moveMode)
      {
          camera.Rotation += MathHelper.ToRadians(
              (mouse.X - screenCenter.X) / 2f);
          camera.Elevation += MathHelper.ToRadians(
              (mouse.Y - screenCenter.Y) / 2f);
    
          Mouse.SetPosition(screenCenter.X, screenCenter...