Book Image

XNA 4.0 Game Development by Example: Beginner's Guide

By : Kurt Jaegers
Book Image

XNA 4.0 Game Development by Example: Beginner's Guide

By: Kurt Jaegers

Overview of this book

XNA Game Studio enables hobbyists and independent game developers to easily create video games. It gives you the power to bring your creations to life on Windows, the Xbox 360, the Zune, and the Windows Phone platforms. But before you give life to your creativity with XNA, you need to gain a solid understanding of some game development concepts.This book covers both the concepts and the implementations necessary to get you started on bringing your own creations to life with XNA. It details the creation of four games, all in different styles, from start to finish using the Microsoft XNA Framework, including a puzzler, space shooter, multi-axis shoot-'em-up, and a jump-and-run platform game. Each game introduces new concepts and techniques to build a solid foundation for your own ideas and creativity. Beginning with the basics of drawing images to the screen, the book then incrementally introduces sprite animation, particles, sound effects, tile-based maps, and path finding. It then explores combining XNA with Windows Forms to build an interactive map editor, and builds a platform-style game using the editor-generated maps. Finally, the book covers the considerations necessary for deploying your games to the Xbox 360 platform.By the end of the book, you will have a solid foundation of game development concepts and techniques as well as working sample games to extend and innovate upon. You will have the knowledge necessary to create games that you can complete without an army of fellow game developers at your back.
Table of Contents (15 chapters)
XNA 4.0 Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
Preface
4
Asteroid Belt Assault – Lost in Space
Index

Time for action – building a new Sprite class


  1. Add a new class called "Sprite" to the Robot Rampage project.

  2. Add the following using directives to the top of the class file:

    using Microsoft.Xna.Framework.Graphics;
    using Microsoft.Xna.Framework;
  3. Add declarations to the Sprite class:

    #region Declarations
    public Texture2D Texture;
    
    private Vector2 worldLocation = Vector2.Zero;
    private Vector2 velocity = Vector2.Zero;
    
    private List<Rectangle> frames = new List<Rectangle>();
    
    private int currentFrame;
    private float frameTime = 0.1f;
    private float timeForCurrentFrame = 0.0f;
    
    private Color tintColor = Color.White;
    
    private float rotation = 0.0f;
    
    public bool Expired = false;
    public bool Animate = true;
    public bool AnimateWhenStopped = true;
    
    public bool Collidable = true;
    public int CollisionRadius = 0;
    public int BoundingXPadding = 0;
    public int BoundingYPadding = 0;
    #endregion
  4. Add a constructor for the Sprite class:

    #region Constructors
    public Sprite(
        Vector2 worldLocation,
        Texture2D...