<< Chapter < Page
  Xna game studio     Page 5 / 13
Chapter >> Page >

There is no unusual code in Listing 1 . However, if my memory serves me correctly, this is the first time in this series of modules that I have calledthe Content.Load method to load a resource other than an image.

The overridden Game.Draw method

The Game.Draw method begins in Listing 2 .

Listing 2 . Beginning of the overridden Game.Draw method.

protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue);spriteBatch.Begin(); // Draw Lindsey Fontstring output = "Lindsey Font"; // Find the center of the stringVector2 FontOrigin = Font1.MeasureString(output) / 2;

There is nothing new or unusual in Listing 2 .

The remainder of the Game.Draw method is shown in Listing 3 .

Listing 3 . Remainder of the overridden Game.Draw method.

//Draw the string with the FontOrigin at the // position specified by FontPos.spriteBatch.DrawString( Font1,//font to useoutput,//output text FontPos,//position re upper left cornerColor.LightGreen,//color of text -45,//rotation of textFontOrigin,//place this at FontPos 2.5f,//scaleSpriteEffects.None, 0.5f);//z-order layerspriteBatch.End(); base.Draw(gameTime);}//end Draw method

There is nothing unusual in the code in Listing 3 . However, this is the first time in this series of modules that I have called the SpriteBatch.DrawString method.

The SpriteBatch.DrawString method

There are several overloaded versions of the SpriteBatch.DrawString method. The different versions depend on the features provided by theparameters. The version called in Listing 3 is one of the most complex. Here is part of what the documentation has to say about this version of the DrawString method:

"Adds a mutable sprite string to the batch of sprites to be rendered, specifying the font, output text, screen position, color tint, rotation, origin,scale, and effects.

Parameters

  • spriteFont - The sprite font.
  • text - The mutable (read/write) string to draw.
  • position - The location, in screen coordinates, where the text will be drawn.
  • color - The desired color of the text.
  • rotation - The angle, in radians, to rotate the text around the origin.
  • origin - The origin of the string. Specify (0,0) for the upper-left corner.
  • scale - Uniform multiple by which to scale the sprite width and height.
  • effects - Rotations to apply prior to rendering.
  • layerDepth - The sorting depth of the sprite, between 0 (front) and 1 (back)."

Purpose of the origin parameter

Everything in this description is reasonably clear except for the description of the origin parameter so I will attempt to clarify it. The origin specifies a point within the text string relative to its upper leftcorner that will be drawn at the point in the game window specified by the position parameter.

All I need to say

That is probably all I need to say about the on-screen display of text. It's time to move on to an explanation of our simple game programnamed XNA0132Proj beginning with the Sprite class.

The Sprite class for XNA0132Proj

The Sprite class that I used in this program is very similar to the class that I explained in the previous module. Therefore, I won't have alot to say about the Sprite class in this module. A complete listing of the Sprite class is provided in Listing 13 near the end of the module.

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