Difference between revisions of "Game Programming Class2"

esse quam videri
Jump to: navigation, search
(Texture2D and SpriteBatches)
(Other Projects)
Line 85: Line 85:
 
IntroSimpleSpriteUpdateGravityWindows.zip
 
IntroSimpleSpriteUpdateGravityWindows.zip
 
IntroSimpleSpriteUpdateWindows.zip
 
IntroSimpleSpriteUpdateWindows.zip
 +
 +
==Inclass Keyboard input demo==
 +
 +
<code>
 +
KeyboardState keyboardState = Keyboard.GetState();
 +
</code>
  
 
==Homework==
 
==Homework==

Revision as of 19:08, 31 January 2010

Fonts

free game fonts XNA Redistributable Font Pack

Fun with Fonts in XNA

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;


  1. Declare SpriteBatch spriteBatch;
  2. Initialize()
  3. LoadContent()
  4. UnloadContent()
  5. 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.

  1. Draw(GameTime gameTime)

Console And Trace

We will build a console class later and debug in game.

Texture2D and SpriteBatches

2D Graphics Overview

About textures and Batching

Displays, ViewPorts, Client Bounds


Alpha channels

Demo

SpriteBacth

demo project

  • IntroSimpleSpriteBatchOptionsWindows.zip

spriteBatch.Begin();

IntroSpriteModesDemo.png

  1. Options SpriteBlendMode
  2. Additive Enable additive blending. http://blogs.msdn.com/etayrien/archive/2006/12/19/alpha-blending-part-3.aspx
  3. AlphaBlend Enable alpha blending. http://blogs.msdn.com/etayrien/archive/2006/12/19/alpha-blending-part-2.aspx
  4. 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)

Links