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

Setting the Premultiply Alpha property value to False in Figure 7 will cause the alpha value to be ignored. This will produce the output image shown in Figure 4 .

Ignore the alpha values

As explained earlier, honoring alpha transparency is the default case in XNA 4.0. Figure 4 was created by setting the Premultiply Alpha property (see Figure 7 ) of the image named gorightarrow.png to a value of False and then re-running the program. This causes even the pixels with the very low alpha values to be opaqueas shown in Figure 4 .

Drawing the sprite(s)

You can draw as many sprites as you need following the call to the Begin method in Listing 8 .

Each sprite drawn will be drawn according to the parameters passed to the Begin method.

If you need to draw some sprites with different parameters, call the SpriteBatch.End method and start the sequence over with a new call to the SpriteBatch.Begin method and new parameters.

In this case we only have one sprite to draw. Listing 8 calls the SpriteBatch.Draw method to draw that sprite and then calls the SpriteBatch.End method to end the drawing sequence.

Overloaded Draw methods

There are several overloaded versions of the SpriteBatch.Draw method. According to the documentation , the version used in Listing 8

"Adds a sprite to the batch of sprites to be rendered, specifying the texture, screen position, and color tint. Before any calls to Draw , you must call Begin . Once all calls to Draw are complete, call End ."

The code in Listing 8 passes three parameters to the Draw method:

  • myTexture - The sprite texture. (See Listing 6 .)
  • spritePosition - The location, in screen coordinates, where the sprite will be drawn. (See Listing 6 .)
  • Color.White - The color channel modulation to use. (Use Color.White for full color with no tinting.)

The SpriteBatch.End method

According to the documentation , this method

"Flushes the sprite batch and restores the device state to how it was before Begin was called. Call End after all calls to Draw are complete."

Call Game.Draw on the superclass

When you instantiate an object from a class that extends another class and overrides a method from the superclass, the new object contains both theoriginal version and the overridden version of the method.

Execute both versions of the overridden method

Often it is desirable or necessary to cause both versions to be executed. The code in Listing 9 shows the syntax used to cause an overridden method to call the original version of the method using the keyword base . The keyword base is a reference to that portion of the object that represents the properties, events, and methods of thesuperclass.

Listing 9 . Call Game.Draw on the superclass.

base.Draw(gameTime); }//end Draw method}//End class }//End namespace

A required statement

The statement shown in Listing 9 is already contained in the skeleton code produced by Visual C# (see Listing 3 ).

The documentation for the Game.Draw method contains the following:

"In classes that derive from Game , it is necessary to make these calls:
Call base.Draw in Draw to enumerate through any graphics components that have been added to Components . This method will automatically call the Initialize method for every component that has been added to the collection."

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