Exemplo n.º 1
0
        public Personaje() : base("Sprite/orc.png", 64)//256alto /4 filas =64
        {
            //Movimiento
            arriba    = new Animacion(512, 0, 9);
            abajo     = new Animacion(640, 0, 9);
            izquierda = new Animacion(578, 0, 9);
            derecha   = new Animacion(704, 0, 9);
            //Ataque
            atqArb = new Animacion(775, 0, 6);//cada 64
            atqIzq = new Animacion(839, 0, 6);
            atqAbj = new Animacion(903, 0, 6);
            atqDer = new Animacion(967, 0, 6);
            //Magia
            MagiaArribaAnim    = new Animacion(0, 0, 7);
            MagiaIzquierdaAnim = new Animacion(64, 0, 7);
            MagiaAbajoAnim     = new Animacion(128, 0, 7);
            MagiaDerechaAnim   = new Animacion(192, 0, 7);
            //Morir o hacerse el muerto y Levantarse
            //Version como puedo invertir el bucle para que se levante
            MorirAnim      = new Animacion(1280, 0, 6);
            LevantarseAnim = new Animacion(1280, 192, 6);//ARREGLAR,No cambia el numero de izquierda

            VIDAMAX              = 35;
            velocidadDeMover     = 400;//150
            velocidadDeAnimacion = 0.05f;

            comoAtaca = EstadosPj.idle;
            nombre    = "OrKo";
        }
Exemplo n.º 2
0
        private void DondeChocaEnem(EstadosPj estado, float deltaTiempo)
        {
            switch (estado)
            {
            case EstadosPj.MoverArriba:
                enemigo.YPOS_ANIMA += enemigo.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverIzquierda:
                enemigo.XPOS_ANIMA += enemigo.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverAbajo:
                enemigo.YPOS_ANIMA -= enemigo.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverDerecha:
                enemigo.XPOS_ANIMA -= enemigo.GetVelocidad() * deltaTiempo;
                break;
            }
        }
Exemplo n.º 3
0
        private void DondeChocaPj(EstadosPj estado, float deltaTiempo)
        {
            switch (estado)
            {
            case EstadosPj.MoverArriba:
                personaje.YPOS_ANIMA += personaje.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverIzquierda:
                personaje.XPOS_ANIMA += personaje.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverAbajo:
                personaje.YPOS_ANIMA -= personaje.GetVelocidad() * deltaTiempo;
                break;

            case EstadosPj.MoverDerecha:
                personaje.XPOS_ANIMA -= personaje.GetVelocidad() * deltaTiempo;
                break;
            }
        }
Exemplo n.º 4
0
        private void TeclasAtaque(EstadosPj estadosPj, float deltaTiempo)
        {
            if (!Keyboard.IsKeyPressed(Keyboard.Key.R))
            {
                enemigo.GetSprite().Color = colorEnem;
            }
            else
            {
                FloatRect per        = personaje.GetSprite().GetGlobalBounds();
                FloatRect enem       = enemigo.GetSprite().GetGlobalBounds();
                EstadosPj estadoPj   = personaje.ESTADO_AHORA_PJ;
                EstadosPj estadoEnem = enemigo.ESTADO_AHORA_PJ;
                if (per.Intersects(enem))
                {
                    textoDamage.setIsActivo(true);
                    switch (estadoPj)
                    {
                    case EstadosPj.MoverArriba:
                        personaje.ESTADO_AHORA_PJ = EstadosPj.AtacarArriba;
                        break;

                    case EstadosPj.MoverIzquierda:
                        personaje.ESTADO_AHORA_PJ = EstadosPj.AtacarIzquierda;
                        break;

                    case EstadosPj.MoverAbajo:
                        personaje.ESTADO_AHORA_PJ = EstadosPj.AtacarAbajo;
                        break;

                    case EstadosPj.MoverDerecha:
                        personaje.ESTADO_AHORA_PJ = EstadosPj.AtacarDerecha;
                        break;
                    }
                    personaje.Actualizar(deltaTiempo);
                }
                enemigo.GetSprite().Color = Color.Red;
                enemigo.RecibeDano(personaje.DANIO);
                //Rematar(enemigo, EstaMuerto(enemigo));
            }
        }
Exemplo n.º 5
0
        private bool ChequeoColision(float deltaTiempo)
        {
            FloatRect per        = personaje.GetSprite().GetGlobalBounds();
            FloatRect enem       = enemigo.GetSprite().GetGlobalBounds();
            EstadosPj estadoPj   = personaje.ESTADO_AHORA_PJ;
            EstadosPj estadoEnem = enemigo.ESTADO_AHORA_PJ;

            if (per.Intersects(enem))
            {
                Clock tiempoCombate = new Clock();
                enemigo.CONTACTO = true;
                isActivo         = true;
                seChocan         = true;
                DondeChocaPj(estadoPj, deltaTiempo);
                DondeChocaEnem(estadoEnem, deltaTiempo);
                TeclasAtaque(estadoPj, deltaTiempo);
            }
            else
            {
                seChocan = false;
            }
            return(seChocan);
        }
Exemplo n.º 6
0
 public override void Actualizar(float DeltaTime)
 {
     //hacer update de la barra de vida
     this.ESTADO_AHORA_PJ = EstadosPj.idle;
     //Si se toca el click izquierdo del mouse ataca
     ChequeoMorirLevantarse();
     if (this.ESTADO_AHORA_PJ != EstadosPj.idle)
     {
         comoAtaca = this.ESTADO_AHORA_PJ;
     }
     ChequeoMagia();
     if (Keyboard.IsKeyPressed(Keyboard.Key.W))
     {
         //Colision Pared Top
         if (YPOS_ANIMA < 0.0f - GetIntRect().Height / 3.6f)
         {
             this.ESTADO_AHORA_PJ = EstadosPj.idle;
         }
         else
         {
             this.ESTADO_AHORA_PJ = EstadosPj.MoverArriba;
         }
     }
     else if (Keyboard.IsKeyPressed(Keyboard.Key.S))
     {
         //Colision Pared Bot
         if (YPOS_ANIMA > Juego.height - GetIntRect().Height / 2.0f)
         {
             this.ESTADO_AHORA_PJ = EstadosPj.idle;
         }
         else
         {
             this.ESTADO_AHORA_PJ = EstadosPj.MoverAbajo;
         }
     }
     else if (Keyboard.IsKeyPressed(Keyboard.Key.A))
     {
         //Colision Pared Left
         if (XPOS_ANIMA < 0.0f - GetIntRect().Width / 2.0f)
         {
             this.ESTADO_AHORA_PJ = EstadosPj.idle;
         }
         else
         {
             this.ESTADO_AHORA_PJ = EstadosPj.MoverIzquierda;
         }
     }
     else if (Keyboard.IsKeyPressed(Keyboard.Key.D))
     {
         //Colision Pared Right
         if (XPOS_ANIMA > Juego.width - GetIntRect().Width / 4.0f)
         {
             this.ESTADO_AHORA_PJ = EstadosPj.idle;
         }
         else
         {
             this.ESTADO_AHORA_PJ = EstadosPj.MoverDerecha;
         }
     }
     base.Actualizar(DeltaTime);
 }