<< Chapter < Page | Chapter >> Page > |
Regardless of whether or not a sprite has decided to move, it should cause itself to be redrawn in the game window because its image has just been replacedby a bunch of CornflowerBlue pixels.
Some game engines take a different approach and in the interest of speed, redraw only those portions of the game window that have changed. This can leadto a great deal of complexity and it is often the responsibility of the game programmer to manage that complexity.
That is not the case with XNA. From the viewpoint of the XNA game programmer, the entire game window is redrawn once during every iteration of the game loop.This causes XNA to be easier to program than some other game engines. On the other hand, it might be argued that XNA sacrifices speed for simplicity.
Listing 18 also signals the end of the overridden Game.Draw method, the end of the Game1 class, and the end of the program.
I encourage you to copy the code from Listing 19 and Listing 20 . Use that code to create an XNA project. (You should be able to use any small image filesas sprites.) Compile and run the project. Experiment with the code, making changes, and observing the results of your changes. Make certain that you canexplain why your changes behave as they do.
Click here to download a zip file containing my version of the program. Extract the folder named XNA0128Proj from the zip file and save it somewhere on your disk. Start Visual C# 2010 Express and select Open Project... from the File menu. Navigate to the project folder and select the file with the extension of .sln . This should cause the project to open and be ready to run or debug as described in the earlier module titled Getting Started .
In this module, you learned how to add more sophistication to the Sprite class that was introduced in an earlier module.
We're getting very close to being able to write a 2D arcade style game involving UFOs, space rocks, and power pills. There are just a few more toolsthat we need and I will show you how to create those tools in the upcoming modules.
The critical tools are:
Once we have those tools, we can write a game where the challenge is to cause the UFO to successfully navigate across the game window without colliding with aspace rock, so I will concentrate on those two tools in the next few modules. (There are probably other games that we could also create using those tools.)
Notification Switch
Would you like to follow the 'Xna game studio' conversation and receive update notifications?