- Crear una clase Raton
- Inicializar la clase
- Edit basic2d to add offset and origin to draw, and draw the cursor
- Adsd rot to Basic2d, adn speed to hero
- Add rotate Towards() to global
- Use the mouse position and rotate hero
- Añadir
McMouseControl.csa Input Añadir este codigo a
Globals.cspublic static int screenHeight, creenWidth;
public static McMouseControl mouse; public static float GetDistance(Vector2 pos, Vector2 target) { return (float)Math.Sqrt(Math.Pow(pos.X - target.X, 2) + Math.Pow(pos.Y - target.Y, 2)); }
Añadir en
Main.csLoadContent()→Globals.mouse = new McMouseControl();Update()
Globals.mouse.Update(); … Globals.mouse.UpdateOld();
- Añadir
public float rot;enBasic2d.cs Modificar
Basic2d.csasipublic virtual void Draw() -> public virtual void Draw(Vector2 OFFSET) new Rectangle(pos.X, pos.Y) -> new Rectangle((int)(pos.X + OFFSET.X), (int)(pos.Y + OFFSET.Y))
- Crear el metodo
Draw(Vector2 OFFSET, Vector2 ORIGIN)
Copiar el metodo que ya existe de Draw() y modificar
new Vector2(myModel.Bounds…. → new Vector2(ORIGIN.X, ORIGIN.Y)Y
0.0farot
- Saltara un error en
Hero.cs→Draw(). Se aregla tal que asi…Draw(Vector2 OFFSET)ybase.Draw(OFFSET) - En
World.cstambien saltara error y se aregla tal que asi…Draw(Vector2 OFFSET)ybase.Draw(OFFSET) - En
Main.cstambien saltara error y se aregla tal que asiworld.Draw(Vector2.Zero); - En
Main.csenDraw(…)añadircursor.Draw(new Vector2(Globals.mouse.newMousePos.X, Globals.mouse.newMousePos.Y), new Vector2(0,0)); - En
Main.csenLoadContent()→cursor = new Basic2d("2d\\Misc\\CursorArrow", new Vector2(0,0), new Vector2(28,28)) - En
Hero.cs→public float speed; - Modificar y añadir a todas las posiciones la velocidad (
pos = new Vector2(pos.X + speed , pos.Y)) - Inicializar en el contructor la velocidad →
speed = 2.0f; - Ir a
Hero.csen Update() →rot = Globals.RotateTowards(pos, new Vector2(Globals.mouse.newMousePos.X, Globals.mouse.newMousePos.Y))