Noticias

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

Lista de prefabs

Iniciado por castelock, Junio 07, 2015, 07:58:34 PM

Tema anterior - Siguiente tema
Buenas,
 
Quiero crear una lista de perfiles de usuarios, donde me he creado un prefab denominado Panel 1, con un panel que tiene asociado una imagen y el nombre del usuario, como se puede observar en la imagen prefabProfile.png.
 
La idea es instanciar tantos prefabs como usuarios tenga registrados la aplicación y que los vaya añadiendo uno debajo del otro. He creado el script que aparece en la imagen createProfiles.png
 
El dilema es que al ejecutar el script me aparece el resultado de la imagen fail.png
 
Cómo podría solucionarlo?
 
Muchas gracias!!!!
 
Un saludo.

Por lo general cuando instancias un UI tienes q darle seguido un Vector2 su posicion deberias probar con eso.

Parece que esté instanciando sólo el child del UIText, en lugar de todo, no?

No, estoy instanciando sobre el scrollrect, como se puede ver en el inspector con el Panel 1(clone)

@castelock
Pasa foto de la configuracion de las UIs , puede que sea temas como el Anchor y demas
Asi alomejor podemos ayudarte

Visita http://www.programacionwh.com encontraras tutoriales y muchas cosas .


Tambien puedes visitar mi canal de YouTube https://www.youtube.com/channel/UClSCTn0wPN1iFjED0yaoJUA



Julio 12, 2015, 12:46:55 PM #5 Ultima modificación: Julio 12, 2015, 12:49:58 PM por kaito
Cita de: castelock date=1433955111No, estoy instanciando sobre el scrollrect, como se puede ver en el inspector con el Panel 1(clone)
 
Pero como te han dicho anteriormente, a continuación tienes que asignarle la nueva posición. Al instanciar(si no dices nada), se crea en la posición establecida del prefab. Mira las diferentes opciones de Instantiate(http://docs.unity3d.com/ScriptReference/Object.Instantiate.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/Object.Instantiate.html)
 
Prueba con esto:
 

using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
public GameObject panel;
public RectTransform parent;
public Vector3 pos;
 
// Use this for initialization
void Start () {

   GameObject temp = Instantiate<GameObject>(this.panel);
   RectTransform rt = temp.GetComponent<RectTransform>();
   rt.SetParent(this.parent);
   rt.localPosition = this.pos;
}
}

Etiquetas: