<< Chapter < Page Chapter >> Page >

Override some or all of five methods

To create a new game program, you override some or all of the five methods shown in Listing 1 .

The program that I explained in the earlier module overrode the LoadContent and Draw methods in such a way as to create a sprite and display it in the upper-left corner of the game window.However, that program did not override the Update method. The sprite did not move and was not animated.

Preview

Moving and bouncing sprite

The Update method is used to implement game logic. The Draw method is used to render the current state of the game on the computer screen. In this module, I will override the Update method to cause the sprite to move around the game window and to bounce off theedges of the game window.

Figure 1 shows a reduced screen shot of the sprite moving in the game window.

Figure 1 . Moving and bouncing sprite.

missing image

The Debug class

On a completely unrelated note, I will introduce you to the Debug class and show you how to use the WriteLine method of the Debug class to display information while the program is running.

Figure 2 shows a screen shot of the Debug output window in the lower left corner of the Visual C# IDE. I will explain the values that yousee in Figure 2 later in this module.

Figure 2 . Debug output window.

Missing image

Discussion and sample code

I will explain the code in fragments, and I will only explain those fragments that are different from the code that I explained in the earlier module titled Xna0118-The XNA Framework and the Game Class . A complete listing of the code for the class named Game1 is provided in Listing 9 near the end of the module.

Making the sprite move

Sprite motion in an XNA game is accomplished by changing the current position coordinates of the sprite in the Update method and drawing the sprite in its new position in the Draw method.

The game loop

You learned about the XNA game loop in the earlier module .

In order to make the sprite move, we need to override the Update method to cause the sprite's position coordinates to change during eachiteration of the game loop. The code to accomplish this begins in Listing 2 .

Listing 2 . Declare variables that specify the incremental distance to move.

//Specify the distance in pixels that the sprite // will move during each iteration.int stepsX = 5; int stepsY = 3;

Distance to move

Listing 2 declares and populates two instance variables that specify the incremental distance that the sprite will move each time the Update method is called. The horizontal and vertical incremental distances are 5 pixelsand 3 pixels respectively.

Note that these two variables are physically declared between the UnloadContent and Update methods. Because they are declared inside a class but outside of a method or constructor, they are instance variables.

How often is the Update method called?

In this program, the computer will do its best to cause the Update method to be called once every 16.67 milliseconds or 60 times per second.

The Update and Draw methods are called at different rates depending on whether the Game property named IsFixedTimeStep is true or false.

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