<< Chapter < Page
  Xna game studio     Page 10 / 16
Chapter >> Page >
the keyword this is a variable that references the current instance of a class or struct.

Any time that the code in an instance method needs a reference to the object to which the method belongs, this is available as a reference to that object.

In this case, the code in Listing 5 says to instantiate a new GraphicsDeviceManager object and to associate it with this Game object.

The ContentManager

A Game object has a property named Content that references an object of the class ContentManager .

According to the documentation, the ContentManager

"is the run-time component which loads managed objects from the binary files produced by the design time content pipeline. It also manages the lifespan ofthe loaded objects..."

The second statement in the constructor in Listing 5 notifies the ContentManager that the folder named " Content" is the root of a directory tree in which content for the game will be stored. In thisprogram, we only have one item of content and it is the image file that was added to the Content folder earlier.

When the constructor in Listing 5 terminates...

When the constructor terminates, the new Game1 object occupies memory and a reference to the object is stored in the variable named game in Listing 2 . The code in the Main method in Listing 2 immediately calls the Run method on the Game1 object's reference.

The Game1 class neither defines nor overrides a method named Run . However, it does inherit a method named Run from the Game class. Therefore, the method named Run that is defined in the Game class is executed.

The Run method of the Game class

Here is what the documentation has to say about this method.

"Call this method to initialize the game, begin running the game loop, and start processing events for the game.

This method calls the game Initialize and BeginRun methods before it begins the game loop and starts processing events for thegame."

The BeginRun method

We already know about the Initialize method. Here is what the documentation has to say about the BeginRun method.

"Called after all components are initialized but before the first update in the game loop."

The game loop

At this point, after the Initialize and the LoadContent methods have been called, either the Run method or the BeginRun method, or perhaps some other method that is called by one of those methods goes into a loop calling the Update method and the Draw method.

The timing and the order in which the two methods are called is determined by the value of IsFixedTimeStep as explained earlier .

But, we're getting ahead of ourselves. We need to slow down and discuss the overridden LoadContent method.

The overridden LoadContent method

The overridden LoadContent method is shown in its entirety in Listing 6 along with the declaration of two instance variables.

Listing 6 . The overridden LoadContent method.

//Declare two variables Texture2D myTexture;Vector2 spritePosition = new Vector2(10.0f,15.0f); protected override void LoadContent() {// Create a new SpriteBatch, which can be used // to draw textures.spriteBatch = new SpriteBatch(GraphicsDevice); //Load the imagemyTexture = Content.Load<Texture2D>("gorightarrow"); }//end LoadContent

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