League of Morgan - Hackveneno

Programación Orientada a Objetos (Tower defense - kingdom rush)

Moderator: julianmartinez16

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Tue Feb 26, 2019 11:14 pm

Actividades Específicas de la Semana 5 (25/02/2019 – 03/03/2019)
• Realizar el Pooling del juego
• Realizar el script de PoolingUnidad
• Editar el script de Unidad
• Dar solución final a todos los errores que se tienen esta el momento.

Martes (26/02/2019)
1. ¿Qué hemos hecho?
Se realizó el código del PoolingUnidad y se implementó en el juego (main camera), se editó el código del script unidad.

2. ¿Qué vamos a hacer?
Dar solución final a todos los errores que se tienen hasta el momento.

3. ¿Qué dificultades hemos tenido?
Uno de los integrantes no tiene computador, lo cual ha retasado un poco la realización de las diferentes actividades. Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos.

Evidencias:

Image

Evidencias Códigos:

. PoolingUnidad:

Code: Select all

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

public class PoolingUnidades : MonoBehaviour {

    public static ArrayList unidades = new ArrayList();


	// Use this for initialization
	void Start () {
        GameObject unidad = GameObject.Find("unidad_01");
        GameObject temp;
        Vector3 incremento = new Vector3(0, 1);
        Vector3 posicion_actual = unidad.transform.position;

        for (int i = 0; i<10; i++)
        {
            temp = (GameObject)Instantiate(unidad, posicion_actual + incremento, Quaternion.identity);
            posicion_actual = temp.transform.position;
            unidades.Add(temp);
        }


	}
	
	// Update is called once per frame
	void Update () {
		
	}
}
.Unidad:

Code: Select all

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

public class Unidad : MonoBehaviour {

    public GameObject ruta;

    private int indice;
    private Vector3 posicion_inicial;
    private Vector3 posicion_siguiente;
    private float vel =5f;
    private float distancia_punto = 0.5f;
    private bool esta_viva;

 

    // Use this for initialization
    void Start () {
        posicion_inicial = this.transform.position;
        posicion_siguiente = ruta.transform.GetChild(0).position;
	}
	
	// Update is called once per frame
	void Update () {
        if (esta_viva)
        {
            Vector3 dir = posicion_siguiente - this.transform.position;
            this.transform.position += dir * vel * Time.deltaTime;

            if (dir.magnitude <= distancia_punto)
            {
                if (indice + 1 < ruta.transform.childCount)
                {
                    indice++;
                    posicion_siguiente = ruta.transform.GetChild(indice).position;
                    Debug.Log(" xs" + posicion_siguiente.x + " ys" + posicion_siguiente.y);
                }
                else
                {
                    indice = 0;
                    this.transform.position = posicion_inicial;
                    posicion_siguiente = ruta.transform.GetChild(0).position;
                }
            }
        }
    }
        

    public bool Esta_viva
    {
        get
        {
            return esta_viva;
        }

        set
        {
            esta_viva = value;
        }
    }
}
Last edited by HugoHernandez2000 on Tue Apr 09, 2019 9:17 pm, edited 1 time in total.
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Sat Mar 02, 2019 11:40 pm

Sábado (02/03/2019)
1. ¿Qué hemos hecho?

Se subió por primera vez el proyecto al repositorio BitBucket.

2. ¿Qué vamos a hacer?

Solucionar los problemas del código, tratar de generar las copias reutilizadas de los barcos.

3. ¿Qué dificultades hemos tenido?

Uno de los integrantes no tiene computador, lo cual ha retasado un poco la realización de las diferentes actividades. Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencias:

Image

Image

Image

Image

Image

Image
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Tue Mar 05, 2019 11:37 pm

Sprint # 6

Actividades Especificas de la Semana 6 (04/03/19-10/03/19)
• Rediseñar el codigo de las Torretas Alidas
• Buscar la imagen que va a ser usada como bala en las torretas
• Crear la Clase Bala en el juego y editarla
• Modificar la Clase Unidad
• Realizar la clonación del repositorio en el PC de uno de los integrantes

1. ¿Qué hemos hecho?
Se realizó la clonación del repositorio del juego en el PC de una de los integrantes. También se realizó la edición del codigo de las Torretas Aliadas

2. ¿Qué vamos a hacer?
Buscar y tratar de darle solución a los problemas de codigo, realizar la creacion de la Clase Bala y su respectivo codigo, modificar la clase Unidad y buscar la imagen que va a ser usada como bala ( flechas).

3. ¿Qué dificultades hemos tenido?
Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencas;

Image

Image

Codigo:

. Torre

Code: Select all


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

public class Torre : MonoBehaviour {

    private GameObject enemigo;
    private bool esta_activa;
    private float distancia_umbral = 20;

    public GameObject Enemigo
    {
        get
        {
            return enemigo;
        }

        set
        {
            enemigo = value;
        }
    }


    GameObject BuscarEnemigoCercano()
    {
        ArrayList enemigos = PoolingUnidades.unidades;
        GameObject temp;
        foreach (Object item in enemigos)
        {
            temp = (GameObject)item;
            if (Vector3.Distance(temp.transform.position, this.transform.position) < distancia_umbral)
            {
                return temp;
            }
        }
        return null;
    }

    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

        Enemigo = BuscarEnemigoCercano();
        if (Enemigo!= null)
        {
            Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
        }

        float dist = (Enemigo.transform.position - this.transform.position).magnitude;

        if(dist <= distancia_umbral)
        {
            Debug.DrawLine(this.transform.position,Enemigo.transform.position,Color.red);
        }
	}
}
Last edited by HugoHernandez2000 on Tue Apr 09, 2019 9:18 pm, edited 3 times in total.
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
felipeh323
Posts: 9
Joined: Tue Jan 22, 2019 2:09 pm

Re: League of Morgan - Hackveneno

Post by felipeh323 » Sat Mar 09, 2019 1:43 pm

Image
Image

Code: Select all

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

public class Bala : MonoBehaviour
{


    private GameObject objetivo;
    private float velocidad = 2;
    // Start is called before the first frame update
    void Start()
    {
        
    }


    // Update is called once per frame
    void Update()
    {
        Vector3 direccion;
        if (objetivo != null)
        {
            direccion = objetivo.transform.position - this.transform.position;
            this.transform.position += velocidad * direccion * Time.deltaTime;

        }

    }
    public void ActivarBala(Torre torre)
    {
        objetivo = torre.Enemigo;
    }
}
[IMG]http://i66.tinypic.com/23uc5kh.jpg[/IMG]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Unidad : MonoBehaviour {

    public GameObject ruta;

    private int indice;
    private Vector3 posicion_inicial;
    private Vector3 posicion_siguiente;
    private float vel =5f;
    private float distancia_punto = 0.5f;
    private bool esta_viva;

 

    // Use this for initialization
    void Start () {
        posicion_inicial = this.transform.position;
        posicion_siguiente = ruta.transform.GetChild(0).position;
	}
	
	// Update is called once per frame
	void Update () {
        if (esta_viva)
        {
            Vector3 dir = posicion_siguiente - this.transform.position;
            this.transform.position += dir * vel * Time.deltaTime;

            if (dir.magnitude <= distancia_punto)
            {
                if (indice + 1 < ruta.transform.childCount)
                {
                    indice++;
                    posicion_siguiente = ruta.transform.GetChild(indice).position;
                    Debug.Log(" xs" + posicion_siguiente.x + " ys" + posicion_siguiente.y);
                }
                else
                {
                    indice = 0;
                    this.transform.position = posicion_inicial;
                    posicion_siguiente = ruta.transform.GetChild(0).position;
                }
            }
        }
    }
    
    

    void OnTriggerEnter2D(Collider2D otro)
    {
        if (otro.gameObject.tag == "bala")
        {
            Destroy(otro.gameObject);
        }
    }
    public bool Esta_viva
    {
        get
        {
            return esta_viva;
        }

        set
        {
            esta_viva = value;
        }
    }
}
[IMG]http://i63.tinypic.com/2qx5fo6.png[/IMG]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Torre : MonoBehaviour {

    private GameObject enemigo;
    private bool esta_activa;
    private float distancia_umbral = 20;

    public GameObject Enemigo
    {
        get
        {
            return enemigo;
        }

        set
        {
            enemigo = value;
        }
    }


    GameObject BuscarEnemigoCercano()
    {
        ArrayList enemigos = PoolingUnidades.unidades;
        GameObject temp;
        foreach (Object item in enemigos)
        {
            temp = (GameObject)item;
            if (Vector3.Distance(temp.transform.position, this.transform.position) < distancia_umbral)
            {
                return temp;
            }
        }
        return null;
    }

    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

        Enemigo = BuscarEnemigoCercano();
        if (Enemigo!= null)
        {
            Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
        }
        void Disparar()
        {
            GameObject obj = (GameObject)Instantiate(GameObject.Find("bala"), this.transform.position, Quaternion.identity);
            Bala bala = obj.GetComponent<Bala>();
            bala.ActivarBala(this);
        }


        float dist = (Enemigo.transform.position - this.transform.position).magnitude;

        if(dist <= distancia_umbral)
        {
            Debug.DrawLine(this.transform.position,Enemigo.transform.position,Color.red);
        }
	}
}
Last edited by felipeh323 on Tue Apr 09, 2019 9:22 pm, edited 1 time in total.
Felipe herrera Arteaga
POO #2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Tue Mar 12, 2019 11:34 pm

Sprint # 7
Actividades Especificas de la Semana 7 (11/03/2019-17/03/2019)
• Buscar la barra de vida adecuada
• Realizar el script de la lógica de la barra de vida
• Solucionar Errores Anteriores
• Realizar una revisión de todos los video tutoriales para tratar de solucionar alguno de los errores

Martes (11/03/2019)

1. ¿Qué hemos hecho?
Se realizo el script con la logica que va a tener la barra de vida de los barcos.
2. ¿Qué vamos a hacer?
Buscar la barra de vida roja y verde, para luego implementarlas en el juego, revisar todos los video tutoriales para tratar de darle solución a los errores que se vienen presentando hace varios días.
3. ¿Qué dificultades hemos tenido?
Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencias:

Image

Codigo Lógica de Barra de Vida:

Code: Select all

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

public class LogicaBarraVida : MonoBehaviour {


    public GameObject unidad0_1;
    public GameObject barra_verde;
    public GameObject barra_roja;
    float escala = .001f;
    SpriteRenderer sr;

	// Use this for initialization
	void Start () {
        sr = barra_verde.GetComponent<SpriteRenderer>();
	}
	
	// Update is called once per frame
	void Update () {
        if (sr.transform.localScale.x > 0)
        {
            sr.transform.localScale -= new Vector3(escala, 0);
            barra_verde.transform.position = unidad0_1.transform.position - new Vector3(.3f-sr.bounds.size.x/2,.4f);
            barra_roja.transform.position = unidad0_1.transform.position - new Vector3(.05f, -4f);

        }
	}
}
Last edited by HugoHernandez2000 on Tue Apr 09, 2019 9:19 pm, edited 1 time in total.
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Fri Mar 15, 2019 11:49 pm

Viernes (15/03/19)
1. Que se ha hecho?
Se encontró los respectivos pngs para la barra de vida
2. Que vamos a hacer?
Configurar la posición de las baras de vida, es decir, ubicarlas bien en el espacio del mapa
3. Que dificultades hemos encontrado?
Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencias:

Image
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Tue Mar 19, 2019 11:44 pm

Sprint # 8
Actividades Específicas de la Semana 8 (18/03/2019 – 24/03/2019)
• Organizar la barra de vida del barco
• Detectar los errores que se presenta en el proyecto y buscar una solución para estos
1. ¿Qué hemos hecho?
Se organizó la barra de vida del barco
2. ¿Qué vamos a hacer?
Vamos a realizar un barrido de errores, vamos a analizar los errores que se presentan en el código del juego
3. ¿Qué dificultades hemos tenido?
Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencias:

Image

Image

Nuevo Codigo LogicaBarra:

Code: Select all

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

public class LogicaBarraVida : MonoBehaviour {


    public GameObject unidad0_1;
    public GameObject barra_verde;
    public GameObject barra_roja;
    float escala = .001f;
    SpriteRenderer sr;

	// Use this for initialization
	void Start () {
        sr = barra_verde.GetComponent<SpriteRenderer>();
	}
	
	// Update is called once per frame
	void Update () {
        if (sr.transform.localScale.x > 0)
        {
            sr.transform.localScale -= new Vector3(escala, 0);
            barra_verde.transform.position = unidad0_1.transform.position - new Vector3(1.1f-sr.bounds.size.x/2,-0.8f);
            barra_roja.transform.position = unidad0_1.transform.position - new Vector3(0f, -0.5f);

        }
	}
}
Last edited by HugoHernandez2000 on Tue Apr 09, 2019 9:20 pm, edited 1 time in total.
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Fri Mar 22, 2019 11:44 pm

Viernes (22/03/19)
1. ¿Qué hemos hecho?
Se han revisado de nuevo los videos guía del juego hasta el tutorial 5, en el cual es donde se presenta la falla en nuestro juego
2. ¿Qué vamos a hacer?
Buscar los errores y tratar de entenderlos para darles una pronta solución
3. ¿Qué dificultades hemos tenido?
Al momento de ejecutar el juego el enemigo(barco) se desaparece al pasar por el segundo punto de la ruta. Otro problema es a la hora de generar los barcos, los cuales no se están generando las copias de estos. También se presentan errores en el código del juego.

Evidencia:

Image
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Sat Mar 30, 2019 12:01 am

Sprite # 9
Actividades Especificas de la Semana 9 (25/03/2019 - 30/03/2019)
• Revisar los errores de proyecto
• Empezar las diapositivas para la preentrega
• Organizar todos los sprites del proyecto
• Actualizar el repositorio
• Organizar el codigo del proyecto

Martes (26/03/2019)

1. ¿Qué hemos hecho?
Se detectaron los errores, gracias a una revisión detallada del codigo del juego con el codigo de los videos guia, se planificó que van tematicas se van a presentar en la exposición de la preentrega.
2. ¿Qué vamos a hacer?
Realizar los respectivos cambios en el codigo del juego, terminar las diapositivas en Power Point, actualizar el repositorio del juego.
3. ¿Qué dificultades hemos tenido?
Ninguno
Hugo Alejandro Hernández Cárdenas
POO#2

User avatar
HugoHernandez2000
Posts: 22
Joined: Tue Jan 22, 2019 2:06 pm

Re: League of Morgan - Hackveneno

Post by HugoHernandez2000 » Sun Mar 31, 2019 11:03 pm

Viernes (29/03/2019)

1. ¿Qué hemos hecho?
Se solucionaron la mayoría de errores que presentaba el juego, se solucionó el problema en la creacion de copias del enemigo (barco), se reconfiguró la barra de vida, se realizaron las diapositivas para la exposición de la preentrega del juego, se organizó el codigo del juego, se realizó la actualización del repositorio

2. ¿Qué vamos a hacer?
Terminar detalles en el diseño de las diapositivas, grabar el gameplay del juego

3. ¿Qué dificultades hemos tenido?
Luego de solucionar los antiguos errores del juego se generó uno nuevo, el torres no están disparando las flechas. ni se está generando el rango de disparo, por lo tanto la barra de vida del barco no está perdiendo vida.

Evidencias:

Image

Image

Image

Image

Codigo:

Code: Select all

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

public class Torre : MonoBehaviour
{

    private GameObject enemigo;
    private bool esta_activa;
    public GameObject bala;
    public float Hurt = 10f;
    private float distancia_umbral = 10;

    public GameObject Enemigo
    {
        get
        {
            return enemigo;
        }

        set
        {
            enemigo = value;
        }
    }

    public bool Esta_activa
    {
        get
        {
            return esta_activa;
        }

        set
        {
            esta_activa = value;
        }

    }




    GameObject BuscarEnemigoCercano()
    {
        ArrayList enemigos = PoolingUnidades.unidades;
        GameObject temp;
        foreach (Object item in enemigos)
        {
            temp = (GameObject)item;
            if (Vector3.Distance(temp.transform.position, this.transform.position) < distancia_umbral)
            {
                return temp;
            }
        }
        return null;
    }

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        Enemigo = BuscarEnemigoCercano();
        if (Enemigo != null)
        {
            Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
        }
        float dist = (Enemigo.transform.position - transform.position).magnitude;
        /* Enemigo = BuscarEnemigoCercano();
         if (Enemigo != null)
         {
             Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
         }
         float dist = (Enemigo.transform.position - transform.position).magnitude;

         if (dist <= distancia_umbral)
         {
             Debug.DrawLine(this.transform.position, Enemigo.transform.position, Color.red);
             Disparar();
         }*/
    }
    void Disparar()
    {
        GameObject obj = (GameObject)Instantiate(GameObject.Find("bala"), this.transform.position, Quaternion.identity);
        Bala bala = obj.GetComponent<Bala>();
        //bala.ActivarBala(this);
    }

    /* GameObject BuscarEnemigoCercano()
     {
         ArrayList enemigos = PoolingUnidades.unidades;
         foreach (GameObject item in enemigos)
         {

             if (Vector3.Distance(item.transform.position, this.transform.position) < distancia_umbral) ;
             {
             return item;
             }
     }
     return null;

}*/

}

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

public class Bala : MonoBehaviour
{


    private GameObject objetivo;
    private float velocidad = 2;
    public float Hurt { get; set; }

    



    // Start is called before the first frame update
    void Start()
    {

    }


    // Update is called once per frame
    void Update()
    {
        Vector3 direccion;
        if (objetivo != null)
        {
            direccion = objetivo.transform.position - this.transform.position;
            this.transform.position += velocidad * direccion * Time.deltaTime;

        }

    }
    public void ActivarBala(Torre torre)
    {
        objetivo = torre.Enemigo;
        Hurt = torre.Hurt;
    }
}

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

public class Unidad : MonoBehaviour
{

    public GameObject ruta;

    private int indice;
    private Vector3 posicion_inicial;
    private Vector3 posicion_siguiente;
    public float Vida = 100f;
    private float vel = 1f;
    private float distancia_punto = 0.5f;
    private bool esta_viva;



    // Use this for initialization
    void Start()
    {
        //posicion_inicial = this.transform.position;
        esta_viva = true;
        posicion_inicial = this.transform.position;
        posicion_siguiente = ruta.transform.GetChild(0).position;
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 dir;

        if (esta_viva == true)
        {
            dir = posicion_siguiente - this.transform.position;
            dir.z = 0;
            this.transform.position += dir * vel * Time.deltaTime;

            if (dir.magnitude <= distancia_punto)
            {
                if (indice + 1 < ruta.transform.childCount)
                {
                    indice++;
                    posicion_siguiente = ruta.transform.GetChild(indice).position;
                    //Debug.Log(" xs" + posicion_siguiente.x + " ys" + posicion_siguiente.y);
                }
                else
                {
                    indice = 0;
                    this.transform.position = posicion_inicial;
                    posicion_siguiente = ruta.transform.GetChild(0).position;
                }
            }
        }
    }



    private void OnTriggerEnter2D(Collider2D otro)
    {
        if (otro.gameObject.tag == "bala")
        {
            Destroy(otro.gameObject);
            this.Vida -= otro.gameObject.GetComponent<Bala>().Hurt;
        }
    }

    public bool Esta_viva
    {
        get
        {
            return esta_viva;
        }

        set
        {
            esta_viva = value;
        }
    }
}

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

public class LogicaBarraVida : Unidad {


    public GameObject unidad0_1;
    public GameObject barra_verde;
    public GameObject barra_roja;
    float lifeInicio;
    float lifeActual;
    float escala = .001f;
    float escala01 = 0f;
    SpriteRenderer sr;

	// Use this for initialization
	void Start () {
        sr = barra_verde.GetComponent<SpriteRenderer>();
        lifeInicio = unidad0_1.GetComponent<Unidad>().Vida;
        lifeActual = lifeInicio;

	}
	
	// Update is called once per frame
	void Update () {
        escala = (lifeInicio - lifeActual) / 100f;
        if (sr.transform.localScale.x > 0)
        {
            sr.transform.localScale -= new Vector3(escala, 0);
            escala01 -= 1.85f * escala;
            

        }
        
        barra_verde.transform.position = unidad0_1.transform.position - new Vector3(1.1f - sr.bounds.size.x / 2, -0.8f);
        barra_roja.transform.position = unidad0_1.transform.position - new Vector3(-0.082f, -0.469999f);

        lifeInicio = lifeActual;
        lifeActual = unidad0_1.GetComponent<Unidad>().Vida;
    }
}


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

public class PoolingUnidades : MonoBehaviour {

    public static ArrayList unidades = new ArrayList();


	// Use this for initialization
	void Start ()
    {
        GameObject unidad = GameObject.Find("unidad_01");
        GameObject temp;
        Vector3 posicion_actual = unidad.transform.position;
        Vector3 incremento = new Vector3(0, 1);
        

        /*for (int i = 0; i<10; i++)
        {
            temp = (GameObject)Instantiate(unidad, posicion_actual + incremento, Quaternion.identity);
            posicion_actual = temp.transform.position;
            unidades.Add(temp);
        }*/

        for(int i = 0; i < 2; i++)
        {
            temp = (GameObject)Instantiate(unidad, posicion_actual + incremento, Quaternion.identity);
            posicion_actual = temp.transform.position;
            unidades.Add(temp);
        }


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


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

public class LogicaPonerTorreta : MonoBehaviour {

    public GameObject torre;


    void OnMouseDown()
    {
        GameObject temp;
        Vector3 pos = this.transform.position;
        pos.y = pos.y + .4f;
        temp = Instantiate(torre);
        temp.transform.position = pos;
        temp.layer = 5;
        Destroy(this.gameObject);
    }

}


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

public class NewBehaviourScript : MonoBehaviour
{

    public GameObject ruta;
    private int indice;
    private float tiempo;

    // Use this for initialization
    void Update()
    {       
            if (tiempo > 0.5)
            {
                if (indice < ruta.transform.childCount)
                {
                    Debug.Log(ruta.transform.GetChild(indice).transform.position.x + " " + ruta.transform.GetChild(indice).transform.position.y);
                    this.transform.position = new Vector3(ruta.transform.GetChild(indice).transform.position.x, ruta.transform.GetChild(indice).transform.position.y, this.transform.position.z);
                    indice++;
                }
                tiempo = 0;
            }
            else
            {
                tiempo += Time.deltaTime;
            }
        
    }

    // Update is called once per frame
}
Last edited by HugoHernandez2000 on Tue Apr 09, 2019 9:21 pm, edited 1 time in total.
Hugo Alejandro Hernández Cárdenas
POO#2

Post Reply