Game Programming Class2
Contents
Fonts
free game fonts XNA Redistributable Font Pack
note this font pack is now included in XNA 4
SVN Checkout
All of the examples for this class and the basic game library we wil be building is in our SVN repo this week we'll practice checking out a folder from the repo.
https://iam.colum.edu:8443/svn/XNAProg/trunk/Jeff
in class
Spritefont demo
IntroFonts/Game1.cs IntroFonts.zip
XNA Structures
Game Class
The XNA Game class has two private properties
- GraphicsDeviceManager graphics;
- ContentManager content;
//the game constuctor can be used to set some graphics settings. graphics.PreferredBackBufferHeight = 768; graphics.PreferredBackBufferWidth = 1024; //graphics.PreferredBackBufferHeight = 1080; //graphics.PreferredBackBufferWidth = 1920; //graphics.IsFullScreen = true;
- Declare SpriteBatch spriteBatch;
- Initialize()
- LoadContent()
- UnloadContent()
- Update(GameTime gameTime)
GameTime
FrameRate and GameTime
Time and Timespan
Example of update using GameTime to calculate elapsed time
- IntroSimpleSpriteUpdateWindows.zip
- IntroSimpleSpriteWindows/Game1.cs
Understanding GameTime We'll revisit game time when we talk about performance profiling.
- Draw(GameTime gameTime)
Console And Trace
We will build a console class later and debug in game.
Texture2D and SpriteBatches
About textures and Batching
Displays, ViewPorts, Client Bounds
Alpha channels
Demo
SpriteBacth
demo project
- IntroSimpleSpriteBatchOptionsWindows.zip
spriteBatch.Begin();
- Options SpriteBlendMode
- Additive Enable additive blending. http://blogs.msdn.com/etayrien/archive/2006/12/19/alpha-blending-part-3.aspx
- AlphaBlend Enable alpha blending. http://blogs.msdn.com/etayrien/archive/2006/12/19/alpha-blending-part-2.aspx
- None No blending specified.
Other Projects
IntroSimpleSpriteUpdateGravityWindows.zip IntroSimpleSpriteUpdateWindows.zip
Inclass Keyboard input demo
KeyboardState keyboardState = Keyboard.GetState();
Homework
- XNA Picture With Update
- Update you picture to include some movement with the update method.
- Sprite Class
- Build a class that is reusable that can draw a single texture on the screen. Be sure to encapsulate all the properties and method that you need to draw the sprite.
- Read Chapter 2 in XNA 3.0
- Read Chapter 4 in XNA 3.0 (yes we skipped 3 we'll come back)