query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// protected override void Initialize() { // TODO: Add your initialization logic here base.Initialize(); } /// /// LoadContent will be called once per game and is the place to load /// all of your content. /// protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here } /// /// UnloadContent will be called once per game and is the place to unload /// all content. /// protected override void UnloadContent() { // TODO: Unload any non ContentManager content here } /// /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// /// Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); // TODO: Add your update logic here base.Update(gameTime); } Comente as excecoes dos metodos abstratos implementados. Eles so servem para lembrar de que e voce que vai implementar o codigo desses metodos. Essa implementacao varia com o jogo.Agora nos temos apenas o construtor do projeto, o metodo Draw(GameTime gameTime) default do projeto e os metodos abstratos da AmareloGameEngine, encerrando assim a construcao do esqueleto do codigo1: /* --- ESQUELETO Game1.cs --- */ 2: using System; 3: using System.Collections.Generic; 4: using System.Linq; 5: using Microsoft.Xna.Framework; 6: using Microsoft.Xna.Framework.Audio; 7: using Microsoft.Xna.Framework.Content; 8: using Microsoft.Xna.Framework.GamerServices; 9: using Microsoft.Xna.Framework.Graphics; 10: using Microsoft.Xna.Framework.Input; 11: using Microsoft.Xna.Framework.Media; 12: using Amarelo; 13: using Amarelo.GameEngine; 14: namespace <nome do projeto> 15: { 16: /// 17: /// This is the main type for your game 18: /// 19: public class _nome do projeto_ : Amarelo.AmareloGame 20: { 21: GraphicsDeviceManager graphics; 22: SpriteBatch spriteBatch; 23: public <nome do projeto>(GameConfig cg) : base(cg) 24: { 25: Content.RootDirectory = "Content"; 26: } 27: /// 28: /// This is called when the game should draw itself. 29: /// 30: /// Provides a snapshot of timing values.31: protected override void Draw(GameTime gameTime) 32: { 33: GraphicsDevice.Clear(Color.CornflowerBlue); 34: // TODO: Add your drawing code here 35: base.Draw(gameTime); 36: } 37: protected override void initialize() 38: { 39: //throw new NotImplementedException(); 40: } 41: protected override void loadContent() 42: { 43: //throw new NotImplementedException(); 44: } 45: protected override void unloadContent() 46: { 47: //throw new NotImplementedException(); 48: } 49: protected override void update(GameTime time) 50: { 51: //throw new NotImplementedException(); 52: } 53: } 54: } 55: /* --- ESQUELETO program.cs --- */ 56: using System; 57: namespace __nome do projeto__58: { 59: #if WINDOWS || XBOX 60: static class Program 61: { 62: /// 63: /// The main entry point for the application. 64: /// 65: static void Main(string[] args) 66: { 67: Amarelo.GameConfig cg = new Amarelo.GameConfig(); 68: using (_nome do projeto_ game = new _nome do projeto_(cg)) 69: { 70: game.Run(); 71: } 72: } 73: } 74: #endif 75: