<< Chapter < Page | Chapter >> Page > |
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.
A Game object has a property named Content that references an object of the class ContentManager .
According to the documentation, the ContentManager
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 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.
Here is what the documentation has to say about this method.
This method calls the game Initialize and BeginRun methods before it begins the game loop and starts processing events for thegame."
We already know about the Initialize method. Here is what the documentation has to say about the BeginRun method.
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 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
Notification Switch
Would you like to follow the 'Xna game studio' conversation and receive update notifications?