<< Chapter < Page
  Xna game studio     Page 6 / 16
Chapter >> Page >

How to create a game

I will begin with a simplified explanation of how to create games using XNA.

Game1 extends Game

To begin with, note that the Game1 class extends the Game class. We do not modify the Game class. Instead, we modify the behavior of the Game class by extending it and overriding some of its methods.

Main method calls the Run method

As you saw earlier in Listing 2 , the Main method in the file named Program.cs instantiates an object of the Game1 class (shown in Listing 3 ) and calls the Run method on that object. That starts the program running.

The Run method

The class named Game1 does not define and does not override a method named Run . However, it does inherit a method named Run from the Game class.

Therefore, when the Run method is called on the object of the Game1 class, the version of the Run method that is defined in the superclass named Game is executed.

Override five methods

The skeleton code for the Game1 class in Listing 3 overrides the following five methods inherited from the Game class:

  1. Initialize
  2. LoadContent
  3. UnloadContent
  4. Update
  5. Draw

Initialization

The first three methods contain code that is needed to get everything initialized at the start of the game play and to shut down the program at theend of the game play.

The game loop

Once the game is initialized, the Run method, or some method called by the Run method ping-pongs back and forth between calls to the overridden Update method and the overridden Draw method. (Note, however that the two methods don't necessarily take turns executing.)

Override Update for game logic

You override the Update method to create the program logic associated with game play. To accomplish this, you will likely need to defineother methods, define other classes, instantiate objects of other classes, call methods on those objects, testthe keyboard, test the mouse, etc. In other words, at this point you need to know how to program in C# .

Override the Draw method

You override the Draw method to cause the various graphics objects in your game to be rendered in the game window shown in Figure 1 .

This module includes an explanation of a very simple program that displays a green arrow sprite near the upper-left corner of the game window (see Figure 3 ).

Preview

I will create a simple Windows game application that imports the image shown in Figure 2 . Note that this is a rectangular image with an (almost) transparent background. (The values of the alpha bytes outside the blueelliptical shape are about 5.)

Figure 2 . Raw image with an (almost) transparent background.

Missing image

If you would like to replicate my program using this image, you should be able to right-click on the image in Figure 2 , download it, and save it on your computer. You can save it under any name you choose but the file name extensionshould be png .

Program output

The program displays the image near the upper-left corner of the game window and honors the transparency of the background as shown in Figure 3 .

Figure 3 . Cropped upper-left corner of the game window.

Missing image

What if you don't honor the transparent background?

Figure 4 shows the result of causing the alpha transparency value to be ignored and allowing the pixels that are almosttransparent in Figure 3 to be opaque.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask