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();
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
 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;
         }
     }
 }
Пример #5
0
        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();
        }
Пример #6
0
        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("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();
        }
Пример #8
0
        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;
            }
        }
Пример #9
0
        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;}
        }
Пример #10
0
        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;
               }

               }
        }
Пример #11
0
        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;
               }
        }