<< Chapter < Page
  Xna game studio     Page 3 / 8
Chapter >> Page >

I will begin my explanation with the class named Sprite .

The Sprite class

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

Two instance variables and a property accessor method

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.

Two overloaded constructors

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

No image when instantiated

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.

Be aware that if you instantiate a Sprite object using this constructor and then attempt to draw the object without first calling the SetImage method to load an image into the object, the program will fail with a runtime error.

Image loaded during construction

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

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

The second parameter is a reference to the ContentManager object that is inherited into the Game1 object from the Game class.

Loading the image

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

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

Load an image into a Sprite object

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.

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