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/Drawcycle, 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
Texture2Dobject 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 aSpriteBatchobject to draw the object on the screen.All sprites must be drawn between a
SpriteBatch.Beginand aSpriteBatch.Endcall. These calls inform the graphics device that sprite information is being sent to the card. TheBeginmethod 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 ...