Summary

  • When you create a new XNA project, it has a game loop and program flow built-in. The game loop consists of an Update/Draw cycle, while the program flow adds steps at which the programmer can set game settings (Initialize), load graphics and sounds and other content (LoadContent), and perform special unload operations (UnloadContent).

  • To draw an image on the screen, you need a Texture2D object that will hold the image in memory. The content pipeline prepares the image at compile time by converting it to an internal XNA format. You then use a SpriteBatch object to draw the object on the screen.

  • All sprites must be drawn between a SpriteBatch.Begin and a SpriteBatch.End call. These calls inform the graphics device that sprite information is being sent to the card. The Begin method has several overloads that allow you to change the way transparency is handled and the way sprites are sorted.

  • Animating sprites is typically done via a sprite sheet (a sheet containing multiple frames of sprite images drawn flipbook-style). Cycling through those images allows the sprite to appear animated.

  • The default framerate of an XNA game is 60 fps. Changing that value will affect sprite animations that do not use a separate timer to determine animation speed as well as the overall game speed.

  • To adjust the animation speed of an individual sprite, you can set a counter to keep track of the last time you changed frames and only change frames every X number of milliseconds.

  • While the default framerate ...

Get Learning XNA 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.