Difference between revisions of "Game Programming Class2"
(→XNA Structures) |
(→XNA Structures) |
||
Line 43: | Line 43: | ||
*GraphicsDeviceManager graphics; | *GraphicsDeviceManager graphics; | ||
*ContentManager content; | *ContentManager content; | ||
+ | |||
+ | Graphics for windows and xbox are 60 fps. XBOx supports NTSC resolutions (480i, 480p, 720p, 1080i and 1080p 1080p is only on newer hdmi models). | ||
<pre> | <pre> | ||
Line 53: | Line 55: | ||
</pre> | </pre> | ||
− | Graphics for Mobile Game is | + | Graphics for Mobile Game is 30 fps and 480 x 800. |
<csharp> | <csharp> |
Revision as of 02:06, 29 August 2011
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://brookfield.rice.iit.edu:8082/svn/xna/
tortoisesvn http://tortoisesvn.tigris.org/
ankhsvn http://ankhsvn.open.collab.net/
SNV checkout demo.
In the coming weeks we'll learn how to commit to the SNV. Until then all you need to know is how to checkout.
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;
Graphics for windows and xbox are 60 fps. XBOx supports NTSC resolutions (480i, 480p, 720p, 1080i and 1080p 1080p is only on newer hdmi models).
//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;
Graphics for Mobile Game is 30 fps and 480 x 800.
<csharp>
// Frame rate is 30 fps by default for Windows Phone. TargetElapsedTime = TimeSpan.FromTicks(333333); // Pre-autoscale settings. graphics.PreferredBackBufferWidth = 480; graphics.PreferredBackBufferHeight = 800;
</csharp>
- 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
Homework
- XNA Picture With Update
- Update your picture to include some movement with the update method. Use the keyboard or mouse to interact with something on the screen
- Read Chapter 2 in XNA 3.0
- Read Chapter 4 in XNA 3.0 (yes we skipped 3 we'll come back)