<< Chapter < Page
  Xna game studio     Page 13 / 16
Chapter >> Page >
"Called when the game determines it is time to draw a frame. Override this method with game-specific rendering code.

Note that significant changes were made to the required contents of the Game.Draw method in XNA 4.0 as compared to XNA 3.1.

Game loop timing

As you learned earlier, 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 sequentially as often as possible.

If IsFixedTimeStep is true, Update will be called at the interval specified in TargetElapsedTime , while Draw will continue to be called as often as possible. For more information on fixed-step and variable-step game loops, see Application Model Overview ."

Because this program doesn't override the Update method, it doesn't matter how often the Draw method is called. Each time it is drawn, the sprite is drawn in the same position as shown in Figure 3 and Figure 4 .

More general information

What is a sprite?

According to the 2D Graphics Overview ,

"Sprites are 2D bitmaps drawn directly on the screen, as opposed to being drawn in 3D space. Sprites are commonly used to display information such ashealth bars, number of lives, or text such as scores. Some games, especially older games, are composed entirely of sprites."

What is a bitmap?

According to the documentation for the Bitmap class,

"A bitmap consists of the pixel data for a graphics image and its attributes. There are many standard formats for saving a bitmap to a file. GDI+ supports thefollowing file formats: BMP, GIF, EXIG, JPG, PNG and TIFF."

What is GDI+?

According to the documentation ,

"Microsoft Windows GDI+ is a class-based API for C/C++ programmers. It enables applications to use graphics and formatted text on both the videodisplay and the printer. Applications based on the Microsoft Win32 API do not access graphics hardware directly. Instead, GDI+ interacts with device driverson behalf of applications."

What about our image?

Working backwards through the above information, we started with an image file named gorightarrow.png . We manually added the file to the Content folder producing a game asset with an Asset Name of gorightarrow (see Figure 7 ).

Then we called the Load method in Listing 6 to load the contents of the file into an object of type Texture2D and saved that object's reference in the instance variable named myTexture . At that point in the process, we had converted the contents of our image fileinto a format that can be thought of as a sprite. The variable named myTexture contains a reference to our sprite.

Beginning of the Game.Draw method

The Game.Draw method begins in Listing 7 . I am referring to the method here as Game.Draw to distinguish it from the method named SpriteBatch.Draw , which we will encounter shortly.

Listing 7 . Beginning of the Game.Draw method.

protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue);

GameTime information

Each time the Game.Draw method is executed, the incoming parameter contains time information encapsulated in an object of type GameTime . According to the documentation, the GameTime object provides a

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