EGGO - TRIÁNGULO DE LA PERDICIÓN

En esta sección se realizará el seguimiento de los proyectos de semestre, con los respectivos avances periódicos según lo definido en la metodología SCRUM.

Moderator: julianmartinez16

User avatar
marianabetancure
Posts: 15
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by marianabetancure » Thu Mar 21, 2019 2:40 pm

SEMANA 9



1. ¿Qué hemos hecho?
Programación del enemigo secundario

2. ¿Qué vamos a hacer?
Programación plataformas complejas y barra de vida

3.¿Qué dificultades hemos tenido?
Ninguna
Mariana Betancur Echavarría
Fundamentos de programación

User avatar
marianabetancure
Posts: 15
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by marianabetancure » Tue Mar 26, 2019 5:10 pm

SEMANA 10
FONDO FINAL DEL JUEGO
Image

1. ¿Qué hemos hecho?
Avances del arte

2. ¿Qué vamos a hacer?
Programación de barra de vida

3.¿Qué dificultades hemos tenido?
Ninguna
Mariana Betancur Echavarría
Fundamentos de programación

User avatar
miguelz0
Posts: 8
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by miguelz0 » Thu Mar 28, 2019 5:04 pm

Semana 10

¿Qué hemos hecho
Avances del arte, barra de vida y mensaje de muerte.

'Qué vamos a hacer?
Progracion plataformas restantes.

¿Qué dificultades hemos tenido?
Distribución del tiempo.
Miguel Zuluaga Sánchez
Fundamentos de programación. :geek: :ugeek:

User avatar
marianabetancure
Posts: 15
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by marianabetancure » Mon Apr 01, 2019 11:03 pm

SEMANA 10
ADELANTOS ARTE DEL JUEGO
Image





DISEÑO DE PLATAFORMAS Y OBSTÁCULOS
Image
Image
Image
Image

¿Qué hemos hecho?
Avances del arte, plataformas y obstáculos

'Qué vamos a hacer?
Efectos con partículas

¿Qué dificultades hemos tenido?
Distribución del tiempo
Mariana Betancur Echavarría
Fundamentos de programación

User avatar
marianabetancure
Posts: 15
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by marianabetancure » Tue Apr 02, 2019 11:27 pm

Mariana Betancur Echavarría
Fundamentos de programación

User avatar
miguelz0
Posts: 8
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by miguelz0 » Thu Apr 04, 2019 5:33 pm


¿Qué hemos hecho?
Nuevo obstáculo que redcuce vida y se mueve.
¿Qué vamos a hacer?
Pulir detalles de las mecánicas generales.
¿Qué problemas hemos tenido?
ninguno
Miguel Zuluaga Sánchez
Fundamentos de programación. :geek: :ugeek:

User avatar
miguelz0
Posts: 8
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by miguelz0 » Tue Apr 09, 2019 11:56 am


¿Qué hemos hecho?
Corrección del movimiento de la plataforma que sube y baja.

¿Qué vamos a hacer?
Más correcciones de las mecánicas y HUD.

¿Qué problemas hemos tenido?
Programación de la pausa.
Miguel Zuluaga Sánchez
Fundamentos de programación. :geek: :ugeek:

User avatar
miguelz0
Posts: 8
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by miguelz0 » Tue Apr 09, 2019 9:40 pm


¿Qué hemos hecho?
Diseño de la pausa.

¿Qué vamos a hacer?
Integración de las animaciones.

¿Qué problemas hemos tenido?
Funcionalidad de las animaciones.
Miguel Zuluaga Sánchez
Fundamentos de programación. :geek: :ugeek:

User avatar
marianabetancure
Posts: 15
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by marianabetancure » Wed Apr 10, 2019 10:32 pm

CÓDIGOS

Cámara - Mariana

Code: Select all

public class Camara : MonoBehaviour
{
    public Transform Player;
    public float suavizados = 5f;
    Vector3 desface;

    private void Start()
    {
        desface = transform.position - Player.position;
    }
    private void FixedUpdate()
    {
        Vector3 posicionPersonaje = Player.position + desface;
        transform.position = Vector3.Lerp(transform.position, posicionPersonaje, suavizados * Time.deltaTime);
    }
}
CheckGround - Miguel

Code: Select all

public class checkGround : MonoBehaviour
{
    // Start is called before the first frame update
    private PlayerController player;
    void Start()
    {
        player = GetComponentInParent<PlayerController>();
        
    }

    private void OnCollisionStay2D(Collision2D collider)
    {
        if(collider.gameObject.tag == "ground")
        {
            player.ground = true;
            if (collider.gameObject.tag == "plataforma")
            {
                player.transform.parent = collider.transform;
                player.ground = true;
            }
        }
        
    }
    private void OnCollisionExit2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "ground")
        {
            player.ground = false;
            if (collision.gameObject.tag == "plataforma")
            {
                player.transform.parent = null;
                player.ground = false;
            }
        }
    }
}
Draw - Mariana

Code: Select all

public class draw : MonoBehaviour
{
    public Transform from;
    public Transform to;
    private void OnDrawGizmosSelected()
    {
        if(from != null&& to != null)//dibujar la raya que muestra hasta donde se mueve la plataforma
        {
            Gizmos.color = Color.cyan;
            Gizmos.DrawLine(from.position, to.position);
        }
    }



}
Enemigo simple - Miguel

Code: Select all

public class Enemigosimple : MonoBehaviour
{
    public float maxSpeed=1f;
        public float speed=1f;
    private Rigidbody2D rb2d;

    // Start is called before the first frame update
    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
        
        
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        rb2d.AddForce(Vector2.right * speed);//anade una fuerza para que haya mov
        float limitedSpeed = Mathf.Clamp(rb2d.velocity.x, -maxSpeed, maxSpeed);//lo poene en valor absoluto por ser distancias
        rb2d.velocity = new Vector2(limitedSpeed, rb2d.velocity.y);
        if(rb2d.velocity.x>-0.01f&& rb2d.velocity.x< 0.01f)//si choca pierde velocidad y cambia de direccón
        {
            speed = -speed;
            rb2d.velocity = new Vector2(speed, rb2d.velocity.y);
        }
        
    }
   
}
Cambio de escena - Mariana

Code: Select all

public class escena2 : MonoBehaviour
{
    private void OnTriggerEnter2D(Collider2D other)
    {
        if(other.tag == "Player")
        {
            SceneManager.LoadScene("Nivel 1");//si el jugador lo traspasa se cambia de escena
        }
    }
}
Cambio de escena - Jugar a Nivel 0 - Mariana

Code: Select all

public class escenas : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    public void ChangeScene()
    {
        SceneManager.LoadScene("nivel0");//si toca el boton se cambia de escena
    }
}

Salto - Miguel

Code: Select all

public class jump : MonoBehaviour

{
    private Rigidbody2D rb2d;
    public float jumpPower = 25f;
    public int saltoActual = 0;//necesitamos un contador para los dos saltos maximos
    // Start is called before the first frame update
    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {

            //rb2d.velocity = new Vector2(0f, jumpPower);
            rb2d.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse);//fuerza hacia arriba por 25f del jump power y el impulso
            //jump = true;
            //suelo = false;
            //maxSaltos = 2;
            saltoActual++;//el salto actual se va a incrementar en 1

        }

        if (saltoActual == 2)
        {
            jumpPower = 0f;//si llega al valor max ya no salta
        }
    }

    private void OnCollisionEnter2D (Collision2D col)
    {


        if (col.collider.gameObject.tag == "ground")
        {
            saltoActual = 0;//cuando el jugador toca el piso vuelve a comenzar la condición 
            jumpPower = 25f;

        }
        if(col.collider.gameObject.tag== "plataforma")
        {
            saltoActual = 0;
            jumpPower = 25;
        }

    }
    
}
Vida - Mariana

Code: Select all

public class Life : MonoBehaviour
{
    int daño;
    public Slider vida;
    public GameObject mueres;
    public GameObject player;
   


    // Use this for initialization
    void Start()
    {
        daño = 100;
        mueres.gameObject.SetActive(false);
        player.gameObject.SetActive(true);

    }

    // Update is called once per frame
    void Update()
    {

        vida.value = daño;//si el dano es 0 
        if (daño == 0)
        {
            mueres.gameObject.SetActive(true);//se activa el mensaje de mueres
            player.gameObject.SetActive(false);//el personaje desaparece
        }



    }
    

    public void OnTriggerEnter2D(Collider2D col)
    {
        if (col.tag == "daño")//cuando algo colisione con el tag de dano
        {

            daño -= 10;//se quitan 10 de vida

        }
        if(col.tag == "Muerte")
        {
            daño -= 100;
        }





    }
}
Plataformas cayendo - Mariana

Code: Select all

public class Plataformafalling : MonoBehaviour
{
    private Rigidbody2D rb2d;
    private PolygonCollider2D pc2d;
    public  float fallDelay=1f; //velocidad de retraso con la que va a caer la plataforma
    // Start is called before the first frame update
    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
        pc2d = GetComponent<PolygonCollider2D>();
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Player"))// si el objeto que lo toca se llama player
        {
            Invoke("Fall", fallDelay);//Va a caer la platafroma
           
        }
    }
    void Fall()
    {
        rb2d.isKinematic = false; // lo afecta la gravedad y lo hace caer
        pc2d.isTrigger = true;//Puede traspasar objetos
    }
}
Plataformas arriba y abajo - Miguel

Code: Select all

public class Plataformaarriba : MonoBehaviour
{

    float sentidoMov = -1, magnitudMov = 2, timer = 0;

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= 2)
        {
            CambiarSentido();
            timer = 0;
        }
        Mover();
    }

    public void Mover()
    {
        transform.position += (sentidoMov * magnitudMov * transform.up) * Time.deltaTime;
    }

    public void CambiarSentido()
    {
        sentidoMov = sentidoMov * -1;
    }
}
Plataforma móvil - Miguel

Code: Select all

public class plataformamovil : MonoBehaviour
{
    public Transform target;//objetivo
    public float speed;
    private Vector3 start, end;
    // Start is called before the first frame update
    void Start()
    {
        if(target!= null)//cuando alcanza el objetivo cambia el target
        {
            target.parent = null;
            start = transform.position;
            end = target.position;
        }
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private void FixedUpdate()
    {
        if (target != null)
        {
            float fixedSpeed = speed * Time.deltaTime;
            transform.position = Vector3.MoveTowards(transform.position, target.position, speed);
        }
        if (transform.position== target.position)
        {
            target.position = (target.position == start) ? end : start;
        }
    }
}
Jugador - Miguel

Code: Select all

public class PlayerController : MonoBehaviour
{
   
    public float speed = 0.5f;
    
    private Vector2 pos_o;
    public const string MUERTE = "Muerte";
    public const string PLATAFORMA_MOVIL = "PlataformaMovil";
    private GameObject healthbar;
    private Animator anim;
    public bool ground;
    private Rigidbody2D rb2d;
    // Start is called before the first frame update
    void Start()
    {
        pos_o = this.transform.position;
        rb2d = GetComponent<Rigidbody2D>();
        healthbar = GameObject.Find("HealthBar");
    }
    private void OnCollisionEnter2D(Collision2D collider)
    {
        if (collider.transform.tag.Equals("plataforma"))
        {
            transform.parent = collider.transform;
        }
        else
        {
            transform.parent = null;
        }
    }



    private void Awake()
    {
        rb2d = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();
    }

    void Update()
    {
        Mover();
        anim.SetFloat("Speed",Mathf.Abs( rb2d.velocity.x));
        anim.SetBool("Grounded", ground);
    }

    public void Mover()
    {

       
        if (Input.GetAxis("Horizontal") != 0)//movimiento derecha izq del personaje
        {
            Vector3 dirVel = transform.right;
            float sentido = Input.GetAxis("Horizontal");
            Vector3 velocidad = (speed * sentido * dirVel) * Time.deltaTime;
            transform.position += velocidad;
            
        }
        
    }

    
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.CompareTag ("recolectables"))
        {
            other.gameObject.SetActive(false);//en cuanto lo toque el recolectable se desaparece
        }
        // if (other.gameObject.CompareTag("Muerte"))
        //{
          //  Destroy(this.gameObject);//en cuanto lo traspase destruye el personjae
        //}

          

    }

  

}
Villano - Miguel

Code: Select all

public class Villano : MonoBehaviour
{
    public float speed;
    private Transform target;

    // Start is called before the first frame update
    void Start()
    {
        target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();//busque al jugador

    }

    // Update is called once per frame
    void Update()
    {
        transform.position = Vector2.MoveTowards(transform.position, target.position, speed * Time.deltaTime);//se mueva 
    }
}
Pausa - Mariana

Code: Select all

public class pausa : MonoBehaviour
{
    bool active;
    Canvas canvas;

    // Start is called before the first frame update
    void Start()
    {
        canvas = GetComponent<Canvas>();
        canvas.enabled = false; //para que desde el principio no aparezca

    }

    // Update is called once per frame
    void Update()
    {
        /* if (Input.GetKeyDown("space"))
         {
             active = !active; //cambiarlo al contrario cuando se presione el botón
             canvas.enabled = active;
             Time.timeScale = (active) ? 0 : 1f;// si es verdadero el juego está en pausa con velocidad del juego 0 o si no está a 100
         }


     }*/
    }
}
Last edited by marianabetancure on Thu Apr 11, 2019 4:53 pm, edited 4 times in total.
Mariana Betancur Echavarría
Fundamentos de programación

User avatar
miguelz0
Posts: 8
Joined: Tue Jan 22, 2019 6:20 am

Re: EGGO - TRIÁNGULO DE LA PERDICIÓN

Post by miguelz0 » Thu Apr 11, 2019 8:46 pm


¿Qué hemos hecho?
Animación enemigo simple.

¿Qué vamos a hacer?
Integración de animación en Unity.

¿Qué problemas hemos tenido?
Dificultades para la integración de las animaciones.
Miguel Zuluaga Sánchez
Fundamentos de programación. :geek: :ugeek:

Post Reply