Pedro Muñoz Becerra
PEDRO Velasquez Tirado
Eres un heroe sin capa
Aquí encontrarás el código realizado durante la anterior clase:
void Start() { instancedObjects = new List<GameObject>(); // Recorre los objetos que se quiere agregar foreach(var item in itemsToPool) { // Recorre la cantidad estimada for (int i = 0; i < item.amountToPool; i++) { // Instancia el objeto en la escena var go = Instantiate(item.objectToPool); // Lo deja desactivado para no ser visible go.SetActive(false); // Lo agrega a la lista de objetos instanciados instancedObjects.Add(go); } } }
Y es aquí donde comienza el código de esta clase, con un for ya creado:
public GameObject GetPoolObject(string tag) { // En caso de que existan objetos en la lista disponible, los retornará desde aquí for (int i = 0; i < instancedObjects.Count; i++) { // Si el item en la posición [i] no está activo en la escena y el tag corresponde, el valor será true if (!instancedObjects[i].activeInHierarchy && instancedObjects[i].CompareTag(tag)) { // Retorna el objeto libre return instancedObjects[i]; } } // En caso de que no existan objetos en la lista disponible foreach (var item in itemsToPool) { // Revisará si en la lista de objetos a instanciar existe uno con el mismo tag if (item.objectToPool.CompareTag(tag)) { // Instancia el objeto en la escena var go = Instantiate(item.objectToPool); // Lo deja desactivado para no ser visible go.SetActive(false); // Lo agrega a la lista de objetos instanciados instancedObjects.Add(go); // Retorna el objeto libre return go; } } // Retorna null en caso de no encontrar por el tag return null; }
Pedro Muñoz Becerra
PEDRO Velasquez Tirado
Eres un heroe sin capa
Juan Carlos Torres
No entiendo que paso con el curso en esta ultima sección, no pude entender bien este concepto dado que en clase anterior apenas implementábamos la funcionalidad. Dejare el curso hasta acá, espero que puedan arreglar esto.
Hay alguna razón profe?
Daniel Sanchez
ProfesorUna pena ver eso, no tengo una razón la verdad, pero te animo a seguir el curso con los siguientes módulos, intento estar pendiente sobretodo en mis redes por si hay alguna duda :pra
Gabriel Andrés Medina Aguilar
SI, que molesto es llevar paso a paso un curso hasta cierto punto y que luego todo cambie en la clase siguiente sin explicaciones. La verdad es que me estaba gustando el curso, pero pudieron editar desde el anterior para tener un código más limpio y hacernos sentir la seguridad de que el que está enseñando sabe lo que hace.
Ezequiel Agustin Gonzalez
¿Por qué motivo el codigo del ObjectPooler.cs es tán distinto al visto en la clase pasada? Ya son varias veces en el mismo curso que pasa lo mismo con codigos modificados sin explicar el como o el por qué. Es una gran lástima, porque siento que estoy aprendiendo más bien poco y solo se me presentan topicos a buscar por mi propia cuenta. Como si estuviese viendo un temario más que un curso el cuál estoy pagando. En fín, voy a terminar el curso pero sé que varios más están con el mismo problema y sienta mal que algunos lo dejen a medias
Leonel Grisaleña
Reporten el problema, asi ven de solucionarlo. Una pena porque el curso me estaba gustando pero el hecho de que falten partes de las clases ( ya es la 2da vez) saca las ganas. Habrá que buscar el object Pooling por afuera😑
Juan David Rodriguez Cabrera
¡Está terrible este curso! Comenzó bien y a medida que va avanzando simplemente empeora hasta parecer una burla hacia el usuario. No es clara la razón de los cambios y tampoco aclara la razón de ese quehacer
Juan Esteban Toquica Gonzalez
Es verdad!
Hector Alejandro Ramirez Huertas
This kind of error is very common in Platzi - bigger jumps without noticing how or when!
Paulo Duelli
Hace un año que está así esto y no lo arreglaron?
Juan Esteban Toquica Gonzalez
El curso cada vez se entiende menos, explican vagamente, el profesor solo es escribiendo codigo y para acabar de ajustar las lineas se cambian fuera de los videos sin explicacion de porque o para que.
Francisco Sánchez
a mi me sale el error del private void OnFire
Acá dejo mis apuntes en código para los que se hayan perdido al ver que el código no es el mismo:
void Start() { instancedObjects = new List<GameObject>(); // Recorre los objetos que se quiere agregar foreach(var item in itemsToPool) { // Recorre la cantidad estimada for (int i = 0; i < item.amountToPool; i++) { // Instancia el objeto en la escena var go = Instantiate(item.objectToPool); // Lo deja desactivado para no ser visible go.SetActive(false); // Lo agrega a la lista de objetos instanciados instancedObjects.Add(go); } } } public GameObject GetPoolObject(string tag) { // En caso de que existan objetos en la lista disponible, los retornará desde aquí for (int i = 0; i < instancedObjects.Count; i++) { // Si el item en la posición [i] no está activo en la escena y el tag corresponde, el valor será true if (!instancedObjects[i].activeInHierarchy && instancedObjects[i].CompareTag(tag)) { // Retorna el objeto libre return instancedObjects[i]; } } // En caso de que no existan objetos en la lista disponible foreach (var item in itemsToPool) { // Revisará si en la lista de objetos a instanciar existe uno con el mismo tag if (item.objectToPool.CompareTag(tag)) { // Instancia el objeto en la escena var go = Instantiate(item.objectToPool); // Lo deja desactivado para no ser visible go.SetActive(false); // Lo agrega a la lista de objetos instanciados instancedObjects.Add(go); // Retorna el objeto libre return go; } } // Retorna null en caso de no encontrar por el tag return null; }