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

Run the program

I encourage you to copy the code from Listing 13 and Listing 14 . Use that code to create an XNA project. You should be able to download suitable imagesfrom the Internet. 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.

Run my text program

Click here to download a zip file containing my version of the program named XNA0132ProjA . Extract the folder named XNA0132ProjA 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 .

Run my game program

Click here to download a zip file containing my version of the program named XNA0132Proj . Extract the folder named XNA0132Proj 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 .

Summary

You learned how to write a simple game program involving user input from the keyboard and the mouse. You also learned how to create on-screen text.

What's next?

At this point, the main tool that we are missing for creating more interesting 2D arcade style games is the ability to incorporate sound effectsand music into the games. The research and study of that topic will be left as an exercise for the student.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Xna0132-A Simple Game Program with On-Screen Text
  • File: Xna0132.htm
  • Published: 02/28/14
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation :: I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

Complete program listing

Listing 12 . Game1 class for project XNA0132ProjA.

/*Project XNA0132ProjA ********************************************************/using System; using Microsoft.Xna.Framework;using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; namespace XNA0132ProjA {public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics;SpriteBatch spriteBatch; SpriteFont Font1;Vector2 FontPos; //-------------------------------------------------//protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice);//Create a new SpriteFont object. Font1 = Content.Load<SpriteFont>("Lindsey"); //Create a new Vector2 object to center the text// in the game window. FontPos = new Vector2(graphics.GraphicsDevice.Viewport.Width / 2, graphics.GraphicsDevice.Viewport.Height / 2);}//end LoadContent 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;//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 //-------------------------------------------------//protected override void Update(GameTime gameTime) { // Allows the game to exitif(GamePad.GetState(PlayerIndex.One). Buttons.Back == ButtonState.Pressed)this.Exit(); //No special update code required.base.Update(gameTime); }//end Update method//-------------------------------------------------// protected override void Initialize() {//Not needed base.Initialize();}//end Initialize //-------------------------------------------------//public Game1() {//Typical constructor graphics = new GraphicsDeviceManager(this);Content.RootDirectory = "Content"; }//end constructor//-------------------------------------------------// protected override void UnloadContent() {//Not needed }//end UnloadContent//-------------------------------------------------// }//end class}//end namespace

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