<< Chapter < Page | Chapter >> Page > |
I will begin my explanation with the class named Sprite .
The file named Sprite.cs (see Listing 14 ) defines a simple version of a Sprite class from which multiple Sprite objects can be instantiated, loaded with an image, and drawn in the game window.The Position property of each Sprite object can be accessed by the user to control the position at which the sprite isdrawn.
The definition of the Sprite class begins in Listing 1 .
Listing 1 . Beginning of the Sprite class.
namespace XNA0126Proj {
class Sprite {private Texture2D texture;
private Vector2 position = new Vector2(0,0);//-------------------------------------------------//
public Vector2 Position {get {
return position;}//end get
set {position = value;
}//end set}//end Position property accessor
Listing 1 declares two instance variables and defines an accessor for the Position property.
The first instance variable named texture will be used to store the image for the sprite. The second instance variable named position will be used to store the value for the Position property.
Listing 2 defines two overloaded constructors for the Sprite class.
Listing 2 . Two overloaded constructors.
public Sprite() {//constructor
}//end noarg constructor//-------------------------------------------------//
public Sprite(String assetName,ContentManager contentManager) {
texture =contentManager.Load<Texture2D>(assetName);
}//end constructor
The first overloaded constructor, which requires no parameters, makes it possible to instantiate a Sprite object without loading an image for the object when it is constructed. A method named SetImage can be called later to load an image for the object.
The second overloaded constructor, which requires two parameters, makes it possible to load an image for the Sprite object when it is constructed.
The first parameter required by the second constructor is the Asset Name property for an image file that is added to the Content folder during the project design phase.
The second parameter is a reference to the ContentManager object that is inherited into the Game1 object from the Game class.
You are already familiar with the code in the body of the constructor that is used to load the image into the object.
The SetImage method is shown in its entirety in Listing 3 .
Listing 3 . The SetImage method.
public void SetImage(String assetName,
ContentManager contentManager) {texture =
contentManager.Load<Texture2D>(assetName);
}//end SetImage
The SetImage method makes it possible to load an image into a Sprite object that was originally constructed without an image , or to change the image in a Sprite object that already contains an image.
Notification Switch
Would you like to follow the 'Xna game studio' conversation and receive update notifications?