using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using System.Collections.Generic; namespace Jumpy { public class JumpyGame : Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; SpriteFont font; KeyboardInput keyboardInput = new KeyboardInput(); bool fullScreen = false; IDisplay display; public JumpyGame() { graphics = new GraphicsDeviceManager(this); IsMouseVisible = true; Content.RootDirectory = "Content"; } // Performs initialization that's needed before starting to run. protected override void Initialize() { display = (IDisplay) Services.GetService(typeof(IDisplay)); display.Initialize(Window, graphics); display.SetFullScreen(fullScreen); base.Initialize(); } // Called once per game. Loads all game content. protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); font = Content.Load("font"); } // Called once per game. Unloads all game content. protected override void UnloadContent() { // TODO: Unload any non ContentManager content here. } // Updates the game world. protected override void Update(GameTime gameTime) { keyboardInput.Update(); List keysDown = keyboardInput.NewKeysDown(); if (keysDown.Contains(Keys.F12)) { fullScreen = !fullScreen; display.SetFullScreen(fullScreen); } if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || keysDown.Contains(Keys.Escape)) { Exit(); } base.Update(gameTime); } // Called when the game should draw itself. protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); spriteBatch.DrawString(font, "hello world", new Vector2(100, 100), Color.Black); spriteBatch.End(); base.Draw(gameTime); } } }