- Primero lo que hace es copiar el contenido del archivo
Program.cs
enGame1.cs
- Luego borra
Program.cs
- Renombra
Game1.cs
aMain.cs
- Crea subcarpetas en Content → 2d,Audio,Fonts
- Crea una carpeta Source → Engine
- Crea una clase dentro de Engine que se llama
Globals.cs
- Boton derecho sobre references → Add reference
- Buscamos System.Xml.Linq y seleccionamos su check
En
Globals.cs
añadir las variablespublic static ContentManager content; public static SpriteBatch spriteBatch;
- En
Main.cs
cambiar enLoadContent
spriteBatch → Globals.spriteBatch - En
LoadContent
añadirGlobals.content = this.Content;
En
Main.cs
→Draw()
hacer que pinte los spritesGlobals.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
Globals.spriteBatch.End();
- Ha metido el archivo Hero.xmb en la carpeta 2d (8:32)
- Dentro de
Source
→ Crear la claseWorld.cs
World.cs
- Añadir este codigo
public class World { public World() { } public virtual void Update() { } public virutal void Draw() { } {
- Source → Engine → Crear la clase
Basic2d.cs
Basic2d.cs
public class Basic2d { public Vector2 pos, dims; public Texture2D myModel; public Basic2d(string PATH, Vector2 POS, Vector DIMS) { pos = POS; dims = DIMS; myModel = Globals.content.Load
(PATH); } public virtual void Update() { } public virutal void Draw() { if(myModel != null) { Globals.spriteBatch.Draw(myModel, new Rectangle((int)(pos.X),(int)(pos.Y), (int)dims.X, (int)dism.Y), null, Color.White, 0.0f, new Vector2(myModel.Bounds.Width/2, myModel.Bounds.Height/2), new SpriteEffects(), 0); } } } World.cs
public Basic2d hero; public World() { hero = new Basic2d(“2d\Hero”, new Vector(300, 300), new Vector(48,48)) } public virtual void Update() { hero.Update(); } public virtual void Draw() { hero.Draw(); }
En
Main.cs
public World world; … public void LoadContent() { world = new World(); } … Update() { world.Update(); } … Draw() { …Begin() world.Draw() …End() }
}