Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: enelmenu en Junio 18, 2017, 01:17:20 AM

Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 01:17:20 AM
Hola gente, como estan?.
 
Bueno nose si mis preguntas son medias boludas y basicas, pero ahora tengo un problema con creacion de varias variables diferentes del mismo tipo, para despues utilizarlas(no hace falta utilizar las variables creadas en otra clase, podria usarlas en una misma clase o metodo).
 
Bueno, mi duda principal es como hago para crear muchas variables mixtas del mismo tipo(GameObject en este caso) tal y como dice el titulo huehue.
 
Supongamos que necesito crear variables conforme valla agregando objetos en una lista que adentro tiene un array, bueno eso se obtiene facilongo, con un for bastante basico:

 
 

      //necesito obtener variables GameObject que se llamen  "plate"+(i+1)  eso
   //Ejemplo: GameObject plate1 = blabla
   for (int i = ; i < PlateList.Capacity; i++) {
      Debug.Log ("plate"+(i+1));
           //Aca puedo crear cada variable GameObject, pero nose como nombrarlas
//Ejemplo:                GameObject "plate"(i+1); ---> en la primer vuelta va a crear GameObject plate1;
   }
   //necesito obtener variables GameObject que se llamen  "floor"+(z+1)+"_p"+(i+1)  eso
   //Ejemplo: GameObject floor2_p1 = blabla
   for (int i = ; i < PlateList.Capacity; i++) {
      for (int z = ; z < PlateList [i].Floor.Length; z++) {
         Debug.Log ("floor" + (z + 1) + "_p" + (i + 1));
                //Aca puedo crear cada variable GameObject, pero nose como nombrarlas
//Ejemplo:                     GameObject "floor"+(z+1)+"_p"+(i+1); ---> en la primer vuelta va a crear GameObject floor1_p1;
      }
   }
   //y yo poder usar aca por ejemplo:
//      floor2_p1.transform.position = Vector3.Lerp (floor1_p1.transform.position, new Vector3 (5.0f, 2.75f, 1.0f), timePlataform / speedPlataform);

 
ESOS EJEMPLOS ADENTRO DEL FOR NO SUCEDEN, ESTA MAL LA SINTAXIS, FUE SOLO UN EJEMPLO PARA QUE VEAN LO QUE NECESITO.
 
 
 
Algo bastante sencillito aunque no paresca, pero me esta costando mucho, pense en crear un string para dsp insertarlo en el nombre de la variable GameObject, pero no se puede, seguro va por ahi la mano pero nose que hacer, o sino convertir un string en GameObject lo cual se me acaba de ocurrir mientras escribo esto jajaja, de todas formas nose como convertir un string a GameObject, pero va por ahi la mano segurisimo. Si hay otra forma mas sencilla avisenme.
 
Tambien algo que tengo mucha intriga, si logro crear dichos GameObject en cada iteracion del for.... Cada iteracion siguiente, hace desaparecer el anterior?? creo que no, no tendria por que pasar... hmmm
 

Espero que se haya etendido(nunca supe escribir bien alla,halla,haya,(conosco aya nomas que es el mas facil))
 
Una abrazo, espero soluciones.
 
 
 
PD: de todas formas no se puede hacer asi por que lo que cree adentro de el for, no lo puedo usar en otro lado... alguna solucion?? u.u
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: lightbug en Junio 18, 2017, 03:45:50 AM
Hola enelmenu, mira ... no se te entiende nada
Cita de: enelmenu date=1497741440Bueno, mi duda principal es como hago para crear muchas variables mixtas del mismo tipo(GameObject en este caso) tal y como dice el titulo huehue.
   


Crear variables mixtas se entiende como crear variables de distinto tipo, esa es la definicion de mixto, pero vos queres crear del mismo tipo? what? para que? que es lo que estas tratando de lograr?
 
 

Cita de: enelmenu date=1497741440o sino convertir un string en GameObject 
      
   

No , eso no tiene ni el mas minimo sentido, por favor reformula toda la pregunta/post, no se entiende nada, pone dos renglones puntuales que es lo que queres hacer. Y si no estas buscando puntualidad y queres un consejo de como hacer algo hacelo mas extenso pero sin que las cosas se "te vayan ocurriendo mientras escribis" porque vos te entendes pero esto esta mas dificil que assembler.
 
Cita de: enelmenu date=1497741440Tambien algo que tengo mucha intriga, si logro crear dichos GameObject en cada iteracion del for.... Cada iteracion siguiente, hace desaparecer el anterior?? creo que no, no tendria por que pasar... hmmm
   


Todo lo definido dentro de un "{  }" vive solo(tiene un alcance) dentro de eso, a no ser que crees una variable y reserves espacio en memoria con un new (Memory allocation) y asi no podes referenciarlo desde el mismo objeto pero si si lo guardas en un contendor, Ej:
 

List<GameObject> m_lista = new List<GameObject>(); //tamaño indefinido, arranca en cero y se va agregando
for( "n iteraciones" )
{
GameObject objACrear = new GameObject(); //o GameObject("nombre")
m_lista.Add(objACrear);   //La lista vive siempre y contiene LA REFERENCIA al objeto
}

 
Por supuesto el meter las cosas dentro de una lista es para tener objetos de tipo tal, y a la hora de usarlos es como "che, lista busca todos los objetos TAL y hacele tal cosa" o "busca todos tus objetos y hacele tal cosa" , no es para "che, lista busca el objeto X y hacele esto", aunque se puede hacer no se estila hacer eso.
 
Es decir, lo hace desaparecer? NO, quedan en memoria, en lo que se llama el "Heap", la cuestion es como vos los referencias, para eso estan los contenedores (que sea de paso si podes usar Listas usalas, son muchos mas versatiles que los arrays que son fijos, depende el caso por supuesto), o quizas no te interese referenciarlos, ejemplo, hace 20 iteraciones y crear 20 proyectiles. La joda es, si los creastes, quedan ahi dando vuelta sin funcion alguna y no podes luego usarlos luego para nada, eso es un epic fail.
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 04:06:50 AM
Jajajajajajaja soy un dilexico de mierda jajajaja
 
Mira mi objetivo es crear la cantidad de variables que tenga un array
 
ponele que tengo 4 arrays de algo y necesito crear 4 variables cada una que se llame distinto( para poder referirme a un array en especifico con la variable), ponele ir sumandole, variable1, variable2, variable3, variable4...

Intentar crear esas variables con un for, ya que yo desconosco la cantidad de mi array, por eso quiero usar un for.... 

Nose si me explico, basciamente crear una cantidad de variables definida con el for y darle nombres a cada una(obviamente nombres diferentes, sino se sobreescribenu)...


Esa informacion me sirve, bastante, gracias ya vere que hago, pero si lograste entender lo que quiero lograr, por ahi no me conviene usar un for, nose si me entendiste tirame la clave jajajaja.

Ah y lo de mixto, quise decir a variables de diferente nombre pero del mismo tipo, me exprese mal u.u
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: lightbug en Junio 18, 2017, 05:23:32 AM
Cita de: enelmenu date=1497751610Nose si me explico, basciamente crear una cantidad de variables definida con el for y darle nombres a cada una(obviamente nombres diferentes, sino se sobreescribenu)...
   


NO, el nomrbe no dice nada, es como si alguien nace y le ponen tu mismo nombre y de pronto dejaras vos de existir, nunca se van a sobreescribir, asi no funciona la programacion. Lo del los nombres es facil, vos en cada for tenes tu indice de iteracion, generalmente --> int i . Podes usar:
 

for(int i=0 ; i < array.Length ;i++)
{
GameObject newObj = new GameObject("objeto " + i.toString());
}
                             
//Al final se creo:   "objeto 0" , "objeto 1", "objeto 2", ....
                             

 
Uno de los tantos ejemplos.
 
Cita de: enelmenu date=1497751610Intentar crear esas variables con un for, ya que yo desconosco la cantidad de mi array, por eso quiero usar un for.... 
   


Eso no es tan cierto, es mas es todo lo contrario, sin saber la longitud del array no podes usar un for ya que no sabes cuantas iteraciones haces.
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 05:29:24 AM
Ahi estaa eso necesitaba!!, esa sintaxis nosabi que podia aplicarla asi
 
Cita de: lightbug date=1497756212GameObject newObj = new GameObject("objeto " + i.toString());
   


Gracias!


Enrrealidad tranquilamente podes desconocer una cantidad de un array, para eso existe el ".Length" no?
 
Cita de: lightbug date=1497756212Eso no es tan cierto, es mas es todo lo contrario, sin saber la longitud del array no podes usar un for ya que no sabes cuantas iteraciones haces.
   

Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: lightbug en Junio 18, 2017, 05:30:42 AM
Cita de: enelmenu date=1497756564Enrrealidad tranquilamente podes desconocer una cantidad de un array, para eso existe el ".Length" no?
   


Claro, Length para un array, Count para una List
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 05:47:16 AM
Che @lightbug estube revisando y  GameObject newObj = new GameObject ("Player") y no es lo que necesito :/
Osea mira es algo simple, necesito crear variables, no objetos, osea crear variables tipo GmaeObject, y que esten vacias para yo mani***r la variable q se creo con el nombre q me dio el for, el for me crea las variables y le da el numerito para identificar la variable, por eso decia lo de repetir nombre, si bien un GameObject puede ser repetido su nombre, las variables no pueden repetir su nombre, eso si que nace lo haces nacer a la variable, yo necesito q el for me haga nacer variables con nombres para identificarlas.
 
Cual es mi objetivo a todo esto?... bueno simplemente, voy a tener muchos objetos en mi array, y no puedo andar creando las variables, necesito q se me nombren y creen, y yo dsp les pueda dar un valor, simplemente como crear: GameObject objeto1; eso simplemente, que me cree eso por iteracion cambiando el numero nada mas. Es posible?, me conviene dejar de lado todo este pensamiento? y meterle con otro metodo??
 



   
      Todo esto lo hago simplemente para no andar escribiendo:
       PlateList[1].Floor[1].transform.blablabla
      yo necesito envez de escribir eso, escribir
      GameObject floor2_p2 = PlateList[1].Floor[1];
      floor2_p2.transform.blablabla
   

[/quote]
 
 
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: lightbug en Junio 18, 2017, 06:13:26 AM
Cita de: enelmenu date=1497757636Che @lightbug estube revisando y  GameObject newObj = new GameObject ("Player") y no es lo que necesito :/

      Osea mira es algo simple, necesito crear variables, no objetos, osea crear variables tipo GmaeObject, y que esten vacias para yo mani***r la variable q se creo con el nombre q me dio el for, el for me crea las variables y le da el numerito para identificar la variable, por eso decia lo de repetir nombre, si bien un GameObject puede ser repetido su nombre, las variables no pueden repetir su nombre, eso si que nace lo haces nacer a la variable, yo necesito q el for me haga nacer variables con nombres para identificarlas.
   
   
      Cual es mi objetivo a todo esto?... bueno simplemente, voy a tener muchos objetos en mi array, y no puedo andar creando las variables, necesito q se me nombren y creen, y yo dsp les pueda dar un valor, simplemente como crear: GameObject objeto1; eso simplemente, que me cree eso por iteracion cambiando el numero nada mas. Es posible?, me conviene dejar de lado todo este pensamiento? y meterle con otro metodo??
   
   
      Todo esto lo hago simplemente para no andar escribiendo:

       PlateList[1].Floor[1].transform.blablabla


      yo necesito envez de escribir eso, escribir

      GameObject floor2_p2 = PlateList[1].Floor[1];

      floor2_p2.transform.blablabla
   


Ahh ok, ya se que es lo que queres pero es muy desprolijo hacerlo asi, osea la parte de ponerle el nombre a tu variable no se si lo podrias llegar a hacer desde una macro? ni idea... pero ya es rebuscar mucho. Hice lo mismo para un tileEditor que hice, queria sabes la fila y columna y en vez de crear varios gameobjects dentro de otro le puse el nombre (al gameObject creado ... OJO) algo como Object_02_05 y era fila 2 columna 5. Resulto muy util al final.
 
Igual desde el codigo jamas jamas te vas a referir a la "variable" floor2_p2 (o por lo menos a algo especifico) como pones, es desprolijo hacerlo asi, no se me ocurre ninguna situacion ahora mismo, te repito no se cual es tu objetivo de todo esto, es mejor empezar a iterar y mediante los indices del arreglos (uni o bidimensional) manejarte como corresponda (como el ejempl odel nombre que te puse arriba), o por lo menos es la principal razon de meterlos en un contenedor.
 
 
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: Miguel_Angel en Junio 18, 2017, 09:03:47 AM
Cita de: enelmenu date=1497751610Jajajajajajaja soy un dilexico de mierda jajajaja
   


Yo soy un disléxico y no te entiendo. Tenemos suerte de que @lightbug entiende muchos idiomas.
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 09:05:30 AM
Cita de: Miguel_Angel date=1497769427Yo soy un disléxico y no te entiendo. Tenemos suerte de que @lightbug entiende muchos idiomas.
   


Bueno chee jajaja entendeme ami, estoy aprendiendo muchas cosas en poco tiempo, tengo tanto conocimiento encima en tan poco tiempo que cuando quiero explicar algo me hago el técnico pero termino diciendo cualquier boludes jajajajaja
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: lightbug en Junio 18, 2017, 06:28:17 PM
Cita de: Miguel_Angel date=1497769427Yo soy un disléxico y no te entiendo. Tenemos suerte de que @lightbug entiende muchos idiomas.
   


 
 
Cita de: enelmenu date=1497769530Bueno chee jajaja entendeme ami, estoy aprendiendo muchas cosas en poco tiempo, tengo tanto conocimiento encima en tan poco tiempo que cuando quiero explicar algo me hago el técnico pero termino diciendo cualquier boludes jajajajaja
   


Jaja todavia no entiendo bien el idioma enelmeneano, pero de a poco lo voy cazando
Título: Ayuda - Creacion elementos(variables) mixtos
Publicado por: enelmenu en Junio 18, 2017, 09:09:20 PM
Cita de: lightbug date=1497803297 
   
   
      Jaja todavia no entiendo bien el idioma enelmeneano, pero de a poco lo voy cazando
   


Jajajajajajaja que culeado, @lightbug fíjate en proyectos que ya subí un avanze de lo q estoy haciendo por ahí entendes más todavía mi idioma jajajaja