Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Layout Elements en Scroll View me salen con tamaño monstruoso

Iniciado por Tizon, Mayo 06, 2018, 12:38:49 PM

Tema anterior - Siguiente tema
Mayo 06, 2018, 12:38:49 PM Ultima modificación: Mayo 06, 2018, 12:40:59 PM por Tizon
Buenas.
 
Pues de momento sigo con mi monotema del Layout. Me sucede algo muy curioso, no sé si a alguien le ha pasado y si alguien me puede dar una pista de por dónde empezar a mirar, pues a estas alturas estoy más perdido que un bacalao en el Sahara.
 
Vamos al lío. Estoy en fase de diseño. Creo mi panel, mi vertical layout, mi Scroll view, el diseño de los elementos que han de salir en el layout. Todo perfecto, me funciona a las mil maravillas. Creo los prefabs, programo el código para que los elementos se generen en tiempo de ejecución según necesidad instanciando los prefabs y lanzo. Me sale todo menos los elementos. Que raro... Al alejar la escena, veo que me salen con un tamaño monstruoso, del orden de más de 10 veces el tamaño asignado. Bueno, pienso, eso es que la he cagado con los prefabs, así que pruebo a meter uno en tiempo de diseño, y ese si me sale perfecto. Reviso que no me haya olvidado al instanciar el prefab el emparentar los transforms, pero veo que eso me lo hace perfectamente.He probado cambiando las configuraciones del Layout varias veces, a min size, prefered size, cambiando las medidas en el Layou element y todo lo que se me ha ocurrido, pero al final la conclusión es rotunda si los agrego en tiempo de diseño, van perfectos. Si los agrego instanciando se me fastidia todo. De momento he solucionado creando 100 elementos de cada en tiempo diseño, desactivandolos y activandolos cuando necesito, pero no deja de ser una solución "sucia" que me obliga a ocupar mucha memoria, puesto que tengo que ir a máximos en cada uno de los elementos.
 
Aquí, en la primera captura, podemos ver en la parte superior el elemento creado a través del un prefab, tan grande que parece "invisible". Abajo los elementos añadidos en tiempo de diseño, con su tamaño idóneo.
 
Y en el segundo podemos ver el motivo al ir a Escena. El elemento instanciado a pesar de emparentar correctamente, se hace tan grande que desborda incluso el tamaño del canvas.
 
 
 
 
 

 

despues de instanciarlos, cuando los emparentas usa transform.SetParent(padre, false)
 
el segundo parametro en false soluciona ese problema
 
(y por la misma razon no emparentes x los parametros de Instantiate, pues no puedes decirle q ignore la transformacion original)


Etiquetas: