<< Chapter < Page
  Xna game studio     Page 9 / 11
Chapter >> Page >
  • false, false = down and to the right.
  • true, false = down and to the left
  • true, true = up and to the left
  • false, true = up and to the right

The code in Listing 16 is very similar to the code that I explained earlier in Listing 10 , so the code in Listing 16 should not require further explanation.

The overridden Update method

The overridden Update method is shown in its entirety in Listing 17 .

Listing 17 . Tell the sprites to move.

protected override void Update(GameTime gameTime) { //Tell all the rocks in the list to move.for(int cnt = 0;cnt<rocks.Count;cnt++) { rocks[cnt].Move(gameTime); }//end for loop//Tell all the power pills in the list to move. for(int cnt = 0;cnt<pills.Count;cnt++) { pills[cnt].Move(gameTime); }//end for loop//Tell all the ufos in the list to move. for(int cnt = 0;cnt<ufos.Count;cnt++) { ufos[cnt].Move(gameTime); }//end for loopbase.Update(gameTime); }//end Update method

Very simple code

Because the code to instantiate the Sprite objects and set their properties was placed in the LoadContent method in this program, the code in the overridden Update method is very simple.

The code in Listing 17 uses for loops to access the references and call the Move method on every Sprite object.

To move or not to move, that is the question

As you learned earlier, when the Move method is called on an individual Sprite object, the sprite may or it may not actually move depending on the value of its Speed property and the elapsed time since its last actual move.

A characteristic of an object-oriented program

One of the characteristics of an object-oriented program is that the individual objects know how to behave with minimal supervision. In effect, acall to the Sprite.Move method in Listing 17 tells the object to make its own decision and to move if it is time for it to move.

The overridden Game.Draw method

Listing 18 shows the overridden Game.Draw method in its entirety.

Listing 18 . The overridden Game.Draw method.

protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue);spriteBatch.Begin(); //Draw all rocks.for(int cnt = 0;cnt<rocks.Count;cnt++) { rocks[cnt].Draw(spriteBatch); }//end for loop//Draw all power pills. for(int cnt = 0;cnt<pills.Count;cnt++) { pills[cnt].Draw(spriteBatch); }//end for loop//Draw all ufos. for(int cnt = 0;cnt<ufos.Count;cnt++) { ufos[cnt].Draw(spriteBatch); }//end for loopspriteBatch.End(); base.Draw(gameTime);}//end Draw method //-------------------------------------------------//}//end class }//end namespace

Erase and redraw the entire game window

Listing 18 begins by painting over everything in the game window with CornflowerBlue pixels. Then it uses for loops to access and call the Sprite.Draw method on every Sprite object.

Each call to a Sprite object's Draw method in Listing 18 is a notification to the Sprite object that it should cause itself to be redrawn in the appropriate position with theappropriate image in the game window.

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