Ejemplo n.º 1
0
    private void ControlMovement(SnakePart part)
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical   = Input.GetAxis("Vertical");

        //si hay algun tipo de movimiento añadimos la dirección a la pila de direcciones
        if (moveHorizontal != 0 || moveVertical != 0)
        {
            //si pulsamos derecha
            if (moveHorizontal > 0)
            {
                part.AddDirection(Vector2.right);
            }
            //si pulsamos izquierda
            else if (moveHorizontal < 0)
            {
                part.AddDirection(Vector2.left);
            }
            //si pusamos arriba
            else if (moveVertical > 0)
            {
                part.AddDirection(Vector2.up);
            }
            //si pulsamos abajo
            else if (moveVertical < 0)
            {
                part.AddDirection(Vector2.down);
            }

            //si aun no nos movemos, cogemos directamente la siguiente dirección
            if (part.GetCurrentDirection() == Vector2.zero)
            {
                part.NextDirection();
            }
        }
    }