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

The first two parameters

The first two parameters that identify the sprite sheet and the position at which to draw the image are the same as the version that I explained in anearlier module.

Three interesting parameters

Three of the parameters shown in the above list and in Listing 12 are parameters that are new to this module and in which I have an interest.

The remaining four parameters

Four of the parameters shown in the above list and in Listing 12 are new to this module, but I don't have any interest in them. The program simply passes "harmless" values to them.

The rectangle

The first thing that is new to this module in Listing 12 is the passing of a new object of type Rectangle as the third parameter.

With this version of the Draw method, only the contents of the sprite sheet that fall within that rectangle are drawn. The size andposition of the rectangle are specified with:

  • The coordinates of the upper left corner of the rectangle
  • The width and the height of the rectangle

The upper left corner of the rectangle

The upper left corner of the rectangle is specified in Listing 12 by the contents of the variables named xStart and yStart . The values in these two variables were assigned in Listing 5 . They specify the coordinates of the upper left corner of a small rectangle that contains one ofthe sprite images shown in Figure 1 .

The width and the height of the rectangle

The width and the height are specified by the contents of the variables named frameWidth and frameHeight . The values in these two variables were assigned in Listing 3 as the width and height of the small rectangle that contains one of the sprite images in Figure 1 .

The horizontal and vertical scale factors

The seventh parameter requires a Vector2D object containing the scale factors to be applied to the horizontal and vertical sizes of thesprite before it is drawn. (You learned about the Vector2D class in an earlier module.)

A new object

Listing 12 instantiates a new object of the Vector2D class that encapsulates the value stored in the variable named scale for the horizontal and vertical scale factors.

A value of 4 was assigned to the variable named scale when it was initialized in Listing 1 .

Four times larger

Therefore, the sprite images that are drawn in the game window are actually four times larger than the sprite images in the sprite sheet shown in Figure 1 . ( Note that the images were also scaled in Figure 1 for display purposes in order to make them more visible. You need to take that into account if you downloadthe sprite sheet and use it to replicate this program.)

Causing the sprite to face in the correct direction

The eighth parameter to the Draw method in Listing 12 requires an object of type SpriteEffects . The contents of the variable named spriteEffect are passed as this parameter. The contents of this variable were set to one of the following two values by thecode in Listing 9 :

  • noEffect - SpriteEffects.None
  • flipEffect - SpriteEffects.FlipHorizontally

The purpose of this parameter is to cause the sprite to face in the correct direction.

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