public override void LoadContent() { _imagenStick = ImagenesR._Instancia.Textura("mandoV"); _imagenStickPerimetro = ImagenesR._Instancia.Textura("mandoVB"); _posicionMandoVirtual = new Vector2(77, 95); _posicionMandoVirtualPerimetro = new Vector2(59, 78); MandoVirtual.rectanguloToqueMandoVirtual = new Rectangle(0, 0, ControlMenus.game.GraphicsDevice.Viewport.Width / 2 - 55, ControlMenus.game.GraphicsDevice.Viewport.Height / 3 - 55); _mandoVirtual = new MandoVirtual(); this._jugador = new Jugador(ControlMenus.game, ImagenesR._Instancia.Textura("jugadorH"), new Rectangle(40, 40, 80, 120), new Vector2(185, 40)); this._jugador.Initialize(); this.mapaTiles = new MapaTiles(ControlMenus.game, 11, 45, 45, 45); this.mapaTiles.Iniciar(ImagenesR._Instancia.Textura("gridCCH"), 2, 4, ImagenesR._Instancia.Textura("gridSCH"), 2, 4); this.mapaTiles.GenerarMapaHorizontal(); this.mapaTiles.Initialize(); _botonSaltar = new BotonFijo(ControlMenus.game, "_botonSaltar", ImagenesR._Instancia.Textura("play")); _botonSaltar._PosicionOrigen = _botonSaltar._CentroTextura; _botonSaltar._PosicionProximaOrigen = new Vector2(85, 720); _botonSaltar._ColorBotonNormal = Color.White; _botonSaltar._ColorBotonApretado = Color.Green; _botonSaltar.Initialize(); _botonSaltar.Click += botonSaltar; base.LoadContent(); }
public void MoverJugador(MandoVirtual mandoVirtual, GameTime gameTime, MapaTiles mapa) { Vector2 mandoPosicion = mandoVirtual.MandoVirtualPosicionNormalizado; if (mandoPosicion != Vector2.Zero) { Vector2 tmp = mandoPosicion * _velocidadJugador; Colisiones.ColisionarConBordes(); //chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp); //scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa); //mirar colisiones _posicion += tmp; } }
public static Vector2 ColisionesConTiles(GameTime gameTime,Vector2 posicionTemporal,MapaTiles mapa) { float tiempoJuego = (float)gameTime.ElapsedGameTime.TotalSeconds; Vector2 posicionHorizontalFutura = (new Vector2(posicionTemporal.X, 0) * Jugador.Jugador._velocidadJugador * tiempoJuego) + Jugador.Jugador._posicion; Vector2 posicionVerticalFutura = (new Vector2(0, posicionTemporal.Y) * Jugador.Jugador._velocidadJugador * tiempoJuego)+Jugador.Jugador._posicion; Rectangle rectanguloHorizontal = new Rectangle((int)posicionHorizontalFutura.X,(int) Jugador.Jugador._posicion.Y, Jugador.Jugador._textura.Width,Jugador.Jugador._textura.Height); Rectangle rectanguloVertical = new Rectangle((int)Jugador.Jugador._posicion.X,(int)posicionVerticalFutura.Y, Jugador.Jugador._textura.Width, Jugador.Jugador._textura.Height); //dependiendo del movimiento miramos el eje x e y (4 posiciones) int ejeXNegativo = -1; int ejeXPositivo = -1; int ejeYNegativo = -1; int ejeYPositivo = -1; if (posicionTemporal.X < 0){ ejeXNegativo = (int)rectanguloHorizontal.Left; ejeXPositivo = (int)Jugador.Jugador.RectanguloJugador.Left;} else{ ejeXNegativo = (int)Jugador.Jugador.RectanguloJugador.Right; ejeXPositivo = (int)rectanguloHorizontal.Right;} if (posicionTemporal.Y < 0){ ejeYNegativo = (int)rectanguloVertical.Top; ejeYPositivo = (int)Jugador.Jugador.RectanguloJugador.Top;} else{ ejeYNegativo = (int)Jugador.Jugador.RectanguloJugador.Bottom; ejeYPositivo = (int)rectanguloVertical.Bottom; } //Las colisones entre rectangulo se hacen por pixeles. for (int x = ejeXNegativo; x < ejeXPositivo; x++) { for (int y = 0; y < Jugador.Jugador._textura.Height; y++) { if (mapa.tileConColision(new Vector2(x, posicionHorizontalFutura.Y + y))) posicionTemporal.X = 0;}} for (int y = ejeYNegativo; y < ejeYPositivo; y++) { for (int x = 0; x < Jugador.Jugador._textura.Width; x++) { if (mapa.tileConColision( new Vector2(posicionVerticalFutura.X + x, y))) posicionTemporal.Y = 0;}} return posicionTemporal; }
public void Salto(GameTime gameTime, MapaTiles mapa) { if (permitirSaltar != false) { int i = 0; Vector2 tmp = new Vector2(15, 0); if ((i != saltoMaximo) && (tmp == new Vector2(15, 0))) { Colisiones.ColisionarConBordes(); //chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp); //scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa); //mirar colisiones _posicion += tmp; i = i + 15; } } }
public override void LoadContent() { _imagenStick = ImagenesR._Instancia.Textura("mandoV"); _imagenStickPerimetro = ImagenesR._Instancia.Textura("mandoVB"); _posicionMandoVirtual = new Vector2(77, 95); _posicionMandoVirtualPerimetro = new Vector2(59, 78); MandoVirtual.rectanguloToqueMandoVirtual = new Rectangle(0, 0, ControlMenus.game.GraphicsDevice.Viewport.Width / 2 - 55, ControlMenus.game.GraphicsDevice.Viewport.Height / 3 - 55); _mandoVirtual = new MandoVirtual(); this._jugador = new Jugador(ControlMenus.game, ImagenesR._Instancia.Textura("jugador"), new Rectangle(40, 40, 80, 120), new Vector2(26, 26)); this._jugador.Initialize(); this.mapaTiles = new MapaTiles(ControlMenus.game, 30, 30, 45, 45); this.mapaTiles.Iniciar(ImagenesR._Instancia.Textura("gridCC"), 2, 4, ImagenesR._Instancia.Textura("gridSC"), 2, 4); this.mapaTiles.GenerarMapaAleatorio(); this.mapaTiles.Initialize(); base.LoadContent(); }
public override void LoadContent() { _imagenStick = ImagenesR._Instancia.Textura("mandoV"); _imagenStickPerimetro = ImagenesR._Instancia.Textura("mandoVB"); _posicionMandoVirtual = new Vector2(77, 95); _posicionMandoVirtualPerimetro = new Vector2(59, 78); MandoVirtual.rectanguloToqueMandoVirtual = new Rectangle(0,0,ControlMenus.game.GraphicsDevice.Viewport.Width/2-55,ControlMenus.game.GraphicsDevice.Viewport.Height/3-55); _mandoVirtual = new MandoVirtual(); this._jugador=new Jugador(ControlMenus.game,ImagenesR._Instancia.Textura("jugador"),new Rectangle(40,40,80,120),new Vector2(26,26)); this._jugador.Initialize(); this.mapaTiles = new MapaTiles(ControlMenus.game,30, 30, 45, 45); this.mapaTiles.Iniciar(ImagenesR._Instancia.Textura("gridCC"), 2, 4, ImagenesR._Instancia.Textura("gridSC"), 2, 4); this.mapaTiles.GenerarMapaAleatorio(); this.mapaTiles.Initialize(); base.LoadContent(); }
public void MoverJugadorHorizontalmente(MandoVirtual mandoVirtual, GameTime gameTime, MapaTiles mapa) { this.permitirSaltar = true; Vector2 mandoPosicion = mandoVirtual.MandoVirtualPosicionNormalizado; if (mandoPosicion != Vector2.Zero) { Vector2 tmp = new Vector2(0, mandoPosicion.Y * _velocidadJugador); Colisiones.ColisionarConBordes(); //chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp); //scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa); //mirar colisiones _posicion += tmp; } }
public void MoverJugador(MandoVirtual mandoVirtual,GameTime gameTime,MapaTiles mapa) { Vector2 mandoPosicion = mandoVirtual.MandoVirtualPosicionNormalizado; if (mandoPosicion != Vector2.Zero) { Vector2 tmp = mandoPosicion * _velocidadJugador; Colisiones.ColisionarConBordes();//chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp);//scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa);//mirar colisiones _posicion += tmp;} }
public void Salto( GameTime gameTime, MapaTiles mapa) { if (permitirSaltar != false) { int i = 0; Vector2 tmp = new Vector2(15, 0); if ((i != saltoMaximo)&&(tmp==new Vector2(15,0))) { Colisiones.ColisionarConBordes();//chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp);//scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa);//mirar colisiones _posicion += tmp; i = i + 15; } } }
public void MoverJugadorHorizontalmente(MandoVirtual mandoVirtual, GameTime gameTime, MapaTiles mapa) { this.permitirSaltar = true; Vector2 mandoPosicion = mandoVirtual.MandoVirtualPosicionNormalizado; if (mandoPosicion != Vector2.Zero) { Vector2 tmp = new Vector2(0, mandoPosicion.Y * _velocidadJugador); Colisiones.ColisionarConBordes();//chocar con bordes Colisiones.scrollingMapaMover(gameTime, tmp);//scrolling camara tmp = Colisiones.ColisionesConTiles(gameTime, tmp, mapa);//mirar colisiones _posicion += tmp; } }