<< Chapter < Page | Chapter >> Page > |
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 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 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
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.
The for loop begins with a call to the Sprite constructor to construct a newobject of the Sprite class.
Each new Sprite object's reference is added to the list referred to by the instance variable named rocks .
Once the new Sprite object is constructed, the object's reference is accessed and used to set the following property values:
Notification Switch
Would you like to follow the 'Xna game studio' conversation and receive update notifications?