<< Chapter < Page
  Xna game studio     Page 7 / 11
Chapter >> Page >

Instance variables

Listing 12 declares several instance variables. Comments are provided to explain most of the instance variables. No explanation beyond the comments in Listing 12 should be required.

The modified constructor

The constructor is shown in its entirety in Listing 13 .

Listing 13 . The modified constructor.

public Game1() {//constructor graphics = new GraphicsDeviceManager(this);Content.RootDirectory = "Content"; //Set the size of the game window.graphics.PreferredBackBufferWidth = windowWidth; graphics.PreferredBackBufferHeight = windowHeight;}//end constructor

Nothing in this constructor is new to this module. Therefore, no further explanation should be required.

The overridden LoadContent method

The overridden LoadContent method begins in Listing 14 .

Listing 14 . Beginning of the overridden LoadContent method.

protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice);for(int cnt = 0;cnt<numRocks;cnt++){ rocks.Add(new Sprite("Rock",Content,random));//Set the position of the current rock at a // random location within the game window.rocks[cnt].Position = new Vector2((float)(windowWidth * random.NextDouble()), (float)(windowHeight * random.NextDouble()));//Get a direction vector for the current rock. // Make both components positive to cause the// vector to point down and to the right. rocks[cnt].Direction = DirectionVector( (float)maxVectorLength,(float)(maxVectorLength * random.NextDouble()), false,//xNegfalse);//yNeg //Notify the Sprite object of the size of the// game window. rocks[cnt].WindowSize = new Point(windowWidth,windowHeight);//Set the speed in moves per second for the // current sprite to a random value between// maxRockSpeed/2 and maxRockSpeed. rocks[cnt].Speed = maxRockSpeed/2 + maxRockSpeed * random.NextDouble()/2;}//end for loop

Instantiate all of the space rock sprites

The code in Listing 14 uses a for loop to instantiate all of the space rocks and to prepare them to move from left to right, top to bottomacross the game window.

Call the Sprite constructor

The for loop begins with a call to the Sprite constructor to construct a newobject of the Sprite class.

As mentioned earlier, you should pass a reference to the same Random object each time you make a call to the Sprite constructor.

Each new Sprite object's reference is added to the list referred to by the instance variable named rocks .

Set the property values

Once the new Sprite object is constructed, the object's reference is accessed and used to set the following property values:

  • The Position property of each rock is set to a random position within the game window.
  • The Direction property for each rock is set to a value obtained by calling the private DirectionVector method. (I will explain the DirectionVector method later.)
  • The WindowSize property for each rock is set to the common windowWidth and windowHeight values.
  • The Speed property for each rock is set to a bounded random value.

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