<< Chapter < Page
  Xna game studio     Page 8 / 16
Chapter >> Page >
  • LoadContent
  • Draw

I will discuss those two methods along with some other material in this module. I will defer a detailed discussion of the other three methods until afuture module when I write a program that modifies them.

Will discuss in fragments

A complete listing of the modified definition of the Game1 class is provided in Listing 10 near the end of the module. I will explain selected code fragments in the following paragraphs.

Beginning of the class named Game1

The beginning of the class definition for the class named Game1 is shown in Listing 4 .

Listing 4 . Beginning of the class named Game1.

namespace XNA0118Proj{ public class Game1 : Microsoft.Xna.Framework.Game{

The namespace

This class definition belongs to the XNA0118Proj namespace. This is the name of the folder containing all of the other folders and files inthe project tree as shown in the Solution Explorer in Figure 7 .

General information

The superclass named Game

The new class named Game1 extends the existing class named Game . You will find the documentation for the class named Game here . The description of this class in the documentation is fairly modest. It says simply

"Provides basic graphics device initialization, game logic, and rendering code."

Overridden methods

As I explained earlier, in order to write a program that runs under the XNA framework, you need to override some or all of five methods that are inheritedinto the Game1 class from the Game class. Let's see some of what the documentation for the Game class has to say about these methods.

  • Initialize - Called after the Game and GraphicsDevice are created, but before LoadContent .Override this method to query for any required services, and load any non-graphics resources. Use LoadContent to load graphics resources.
  • LoadContent - Called when graphics resources need to be loaded. Override this method to load any game-specific graphics resources.This method is called by Initialize . Also, it is called any time the game content needs to be reloaded, such as when the DeviceReset event occurs.
  • UnloadContent - Called when graphics resources need to be unloaded. Override this method to unload any game-specific graphicsresources.
  • Update - Called when the game has determined that game logic needs to be processed. This might include the management of the gamestate, the processing of user input, or the updating of simulation data. Override this method with game-specific logic.
  • Draw - Called when the game determines it is time to draw a frame. Override this method with game-specific rendering code.

The game loop

According to the documentation for the Game class,

" Update and Draw are called at different rates depending on whether IsFixedTimeStep is true or false.

If IsFixedTimeStep is false, Update and Draw will be called in a continuous loop.

If IsFixedTimeStep is true, Update will be called at the interval specified in TargetElapsedTime , while Draw will only be called if an Update is not due.

If Draw is not called, IsRunningSlowly will be set to true.

For more information on fixed-step and variable-step game loops, see Application Model Overview ."

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