Desert Space - Jump Motherfucker

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
MateoLC
Posts: 11
Joined: Thu Jul 18, 2019 9:31 am

Re: Desert Space - Jump Motherfucker

Post by MateoLC » Wed Oct 23, 2019 11:48 pm

Un nuevo enemigo mucho mas veloz, dispuesto a acabar con quien se interponga con el.
Image

Image

Image
Last edited by MateoLC on Thu Oct 24, 2019 3:26 am, edited 1 time in total.
Mateo López C 8-)
Fundamentos de progración.

User avatar
Awaketo
Posts: 29
Joined: Thu Jul 18, 2019 9:29 am

Re: Desert Space - Jump Motherfucker

Post by Awaketo » Thu Oct 24, 2019 12:12 am

¿Qué hemos hecho?
Obstáculos y paso al segundo nivel.
El feedback del daño se pudo lograr.
Se programó y animó el segundo enemigo.



¿Qué vamos a hacer?
Terminar la plataforma que cae (reprogramar para que no choque con otros objetos)
Agregar indicaciones de cómo jugar.
Plataforma circular.
Cambiar script de vida.
Pickups segundo nivel
Crear plataforma que cae segundo nivel.

¿Qué dificultades hemos tenido?
El script de obstáculos no mataba de inmediato al player.
A la hora de poner el feedback de recibir daño el player se pone rojo, pero no le baja la vida.


Sprint 13

Inicio: 17/10/2019
Final: 24/10/2019

Tareas
Mirar el vídeo de la semana(todos)
Plataforma que cae segundo nivel (Juan)
Agregar indicaciones de cómo jugar en el primer nivel (Juan)
Pulir plataformas que caen, que no colisionen con otros objetos (Juan)
plataforma que gira circularmente (Mateo)
Nuevo script de vida (Emanuel)
Pickups segundo nivel (Emanuel)
Last edited by Awaketo on Thu Oct 24, 2019 12:52 am, edited 1 time in total.
Juan Osorio Ceballos
Estudiante de fundamentos de programación. :geek:
Gyga Tryhard

User avatar
Awaketo
Posts: 29
Joined: Thu Jul 18, 2019 9:29 am

Re: Desert Space - Jump Motherfucker

Post by Awaketo » Thu Oct 24, 2019 12:13 am

Image

Se agregaron indicaciones básicas de qué botones se usan para jugar y la funcionalidad de cada uno.
Juan Osorio Ceballos
Estudiante de fundamentos de programación. :geek:
Gyga Tryhard

User avatar
Awaketo
Posts: 29
Joined: Thu Jul 18, 2019 9:29 am

Re: Desert Space - Jump Motherfucker

Post by Awaketo » Thu Oct 24, 2019 12:15 am

Image

Al montarse en la plataforma, ella cae y no colisiona con la plataforma de abajo.
Juan Osorio Ceballos
Estudiante de fundamentos de programación. :geek:
Gyga Tryhard

User avatar
Awaketo
Posts: 29
Joined: Thu Jul 18, 2019 9:29 am

Re: Desert Space - Jump Motherfucker

Post by Awaketo » Thu Oct 24, 2019 12:18 am

Image
Adicionalmente se agregó que cuando la plataforma caiga, pasados algunos segundos se resetee, permitiendo que se vuelva a utilizar sin repetir nivel.
Juan Osorio Ceballos
Estudiante de fundamentos de programación. :geek:
Gyga Tryhard

User avatar
Awaketo
Posts: 29
Joined: Thu Jul 18, 2019 9:29 am

Re: Desert Space - Jump Motherfucker

Post by Awaketo » Thu Oct 24, 2019 12:53 am

Image

Es el mismo script que el del primer nivel, simplemente se cambió el sprite.
Juan Osorio Ceballos
Estudiante de fundamentos de programación. :geek:
Gyga Tryhard

User avatar
MateoLC
Posts: 11
Joined: Thu Jul 18, 2019 9:31 am

Re: Desert Space - Jump Motherfucker

Post by MateoLC » Thu Oct 24, 2019 5:56 am

Plataforma que gira circularmente


Image

Codigo que se utilizo

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovimientoPlataformaC : MonoBehaviour
{
    public Transform centro;
    private float xo, yo, x, y, r, angulo, tiempo;
    // Start is called before the first frame update
    void Start()
    {
        r = 3f;
        angulo = Mathf.PI / 4;
        xo = centro.transform.position.x;
        yo = centro.transform.position.y;
        tiempo = 0f;
    }
    // Update is called once per frame
    void FixedUpdate()
    {
        if (tiempo >= 0.1f)
        {
            x = xo + r * Mathf.Cos(angulo);
            y = yo + r * Mathf.Sin(angulo);
            angulo = (angulo - Mathf.PI / 32) % (2 * Mathf.PI);
            transform.localPosition = new Vector2(x, y);
            tiempo = 0.075f;
        }
        else
        {
            tiempo += Time.deltaTime;
        }
    }
}
Mateo López C 8-)
Fundamentos de progración.

User avatar
EliteP
Posts: 29
Joined: Thu Jul 18, 2019 9:31 am

Re: Desert Space - Jump Motherfucker

Post by EliteP » Thu Oct 24, 2019 6:42 am

Diseño final del segundo nivel

(Lo que se ve arriba es el Canvas de la vida)


Image


Nuevas vida

Funciona basicamente igual solo que con Animators y es mas facil de usar


Vida en el Canvas Ingame

Image

Asi se pierde vida

Image

Animator de la vida

Image

Al colisonar con "Muerte" te devuelven a tu posicion inical

Image

Codigo usado (otra vez el player controller)

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class PlayerController : MonoBehaviour
{
    public int Puntaje = 1; 

    public float speed = 2f;      //Permite elegir la velocidad
    public float maxSpeed = 5f;   //Establece un valor maximo de velocidad
    public bool grounded;         // booleanos que permite muestra si se encuentra o no en "el suelo"
    public float jumpPower = 6.5f;//Permite elegir la distancia del salto

    private Rigidbody2D rb2d;
    private Animator anim;         //Permite la animacion
    private SpriteRenderer spr;
    private bool jump;
    private Vector2 pos_o;
    private bool movement = true;
    public const string MUERTE = "Muerte";
    private int vidas = 3;

    //Asigna o retorna las vidas del personaje
    public int Vidas
    {
        get
        {
            return vidas;
        }
        set
        {
            vidas = value;
        }
    }


    // Start is called before the first frame update
    void Start()
    {
        pos_o = this.transform.position;
        rb2d = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();
        spr = GetComponent<SpriteRenderer>();
    }

    // Update is called once per frame
    void Update()
    {
        anim.SetFloat("Speed", Mathf.Abs(rb2d.velocity.x));   //Determina si se encuentra o no en el suelo y permite o no realizar un salto
        anim.SetBool("Grounded", grounded);

        if (Input.GetKeyDown(KeyCode.UpArrow) && grounded)
        {
            jump = true;
        }
    }

    private void FixedUpdate()
    {
        float h = Input.GetAxis("Horizontal");
        if (!movement) h = 0;

        rb2d.AddForce(Vector2.right * speed * h);                           //Determina las direcciones con respecto a la velocidad

       if (rb2d.velocity.x > maxSpeed)
        {
            rb2d.velocity = new Vector2(maxSpeed, rb2d.velocity.y);             
        }
        if (rb2d.velocity.x < -maxSpeed)
        {
            rb2d.velocity = new Vector2(-maxSpeed, rb2d.velocity.y);
        }

        if (h > 0.1f)
        {
            transform.localScale = new Vector3(1f, 1f, 1f);
        }

        if (h< -0.1f)
        {
            transform.localScale = new Vector3(-1f, 1f, 1f);
        }

        if (jump)
        {
            rb2d.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse);             //Determinar la distancia de salto 
            jump = false;
        }
        Debug.Log(rb2d.velocity.x);

    }


    void OnTriggerEnter2D(Collider2D other)
    {

        if (other.gameObject.CompareTag("PickUp"))      //Al colisionar con el objeto con dicha Tag este se desactivara 
        {

            other.gameObject.SetActive(false);
            ControlPuntos.Score += Puntaje;             //Al colisionar con este objeto tambien sumara +1 al puntaje
            
        }

        
        
    }
    public void EnemyKnockBack(float enemyPosX)
    {
        float side = Mathf.Sign(enemyPosX - transform.position.x);
        rb2d.AddForce(Vector2.left * side * jumpPower, ForceMode2D.Impulse);
        spr.color = Color.red;
        movement = false;
        
        
    }
    public void EnemyJumo()
    {
        jump = true;
    }

    private void OnCollisionEnter2D(Collision2D col)      //Al colisionar con:
    {
        if (col.transform.tag.Equals("Portal"))           //Al colisonar con el portal te lleva a la escena Lvl2
        {
            SceneManager.LoadScene("Lvl2");
        }

        if (col.transform.tag.Equals("Portal2"))         //Al colisionar con el portal te muestra la pantalla de Victoria
        {
            SceneManager.LoadScene("Ganaste SN");
        }

        if (col.transform.tag.Equals("PlataformaMovil"))
        {
            transform.parent = col.transform;
        }
        else
        {
            transform.parent = null;
        }

        if (col.gameObject.tag.Equals("Enemigo"))      //Al colisionar con enemigo:
        
        {
            vidas -= 1;                                  //perder una vida
            Destroy(col.gameObject);
            spr.color = Color.red;

            Invoke("EnableMovement", 0.5f);
        }

        if (col.transform.tag.Equals(MUERTE))           //Al colisionar con Muerte:
        {
            if (--vidas > 0)                             //Restar vidas
            {
                this.transform.position = pos_o;
            }
            else
            {
                Debug.Log("F");
            }
        }
        if (vidas <= 0)                                             //Al perder toda la vida el jugador se destruye
        {
            gameObject.SetActive(false);
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);  //Reinicia la Escena actual






        }
    }
    void EnableMovement()
    {
        spr.color = Color.white;
    }



}
Emanuel Perez, estudiante
"Keelah Se'lai"

User avatar
EliteP
Posts: 29
Joined: Thu Jul 18, 2019 9:31 am

Re: Desert Space - Jump Motherfucker

Post by EliteP » Thu Oct 24, 2019 6:48 am

Emanuel Perez, estudiante
"Keelah Se'lai"

User avatar
EliteP
Posts: 29
Joined: Thu Jul 18, 2019 9:31 am

Re: Desert Space - Jump Motherfucker

Post by EliteP » Thu Oct 24, 2019 6:57 am

Emanuel Perez, estudiante
"Keelah Se'lai"

Post Reply