<< Chapter < Page | Chapter >> Page > |
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 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.
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 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 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 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 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.)
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 .
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.)
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 :
The purpose of this parameter is to cause the sprite to face in the correct direction.
Notification Switch
Would you like to follow the 'Xna game studio' conversation and receive update notifications?