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

The inherited property

The inherited property contains a reference to an object of the class GraphicsDevice , which is apparently populated in conjunction with the instantiation of the GraphicsDeviceManager object in the constructor of Listing 5 . However it gets populated, it is a reference to the graphicsDevice on the current platform. This causes the new SpriteBatch object to be aware of the graphicsDevice on the current platform. It will be used in the Draw method later to draw the sprite.

The new code

The last statement in Listing 6 is the new code that I wrote into the overridden LoadContent method. The Game1 class inherits a property of the Game class named Content . This property contains a reference to the current ContentManager object.

Therefore, the new code in Listing 6 calls the Load method on the current ContentManager object.

Generic methods

Some methods in C# are known as generic methods , and the Load method of the ContentManager class is one of them. The documentation describes the Load method as follows:

"Loads an asset that has been processed by the Content Pipeline."

Required syntax for the Load method

Figure 8 shows the syntax required for calling the Load method. This syntax was taken from the documentation.

Figure 8 . The Load method of the ContentManager class.

public virtual T Load<T>(string assetName)

What do the angle brackets mean?

To call this method, you must replace the T between the angle brackets in Figure 8 with the type of asset to be loaded. According to the documentation ,

" Model , Effect , SpriteFont , Texture , Texture2D , Texture3D and TextureCube are all supported by default by the standard Content Pipeline processor, but additional types may be loaded by extending theprocessor."

Calling the Load method of the current ContentManager

Listing 6 calls the Load method, specifying an asset type of Texture2D , for the purpose of loading the content identified in Figure 7 with an Asset Name property value of gorightarrow .

You will recall that this is the value given to the Asset Name property of the image file named gorightarrow.png when it was added to the Content folder earlier inthis module.

Populate the variable named myTexture

The value returned from the Load method is assigned to the variable named myTexture in Listing 6 . It will be used later in the Draw method to draw the sprite in the game window as shown in Figure 3 and Figure 4 .

That completes the definition of the overridden LoadContent method.

The Vector2 structure

Returning to the variable declarations in Listing 6 , Vector2 is a structure (similar to a class with no inheritance capability) containing two components of type float named X and Y .

In this program, the structure referred to by spritePosition in Listing 6 is used to encapsulate the coordinates of the upper-left corner of the sprite (10.0f,15.0f) when the sprite is drawn in the game window as shown in Figure 3 and more obviously in Figure 4 .

This variable will also be used later in the overridden Draw method.

The overridden Game.Draw method

That brings us to the Draw method inherited from the Game class, shown near the bottom of Listing 3 . According to the documentation , this method is

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