Noticias

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

Instanciar prefabs en el canvas

Iniciado por rafaelrfz, Junio 02, 2015, 08:47:21 PM

Tema anterior - Siguiente tema
Hola a todos.
 
No he podido instanciar prefabs de imagenes 2d de canvas, dentro del canvas, cuando se instancian, en la jerarquia estan fuera del canvas.
 
He intentado que el prefab haga transform.parent al canvas, pero me salen errores de diferentes maneras.
 
He intentado lo más comun pero como el canvas usa Rect Transform no el transform no he podido hacerlo hijo del canvas.
 
Me pueden ayudar.

Has buscado el error en UnityAnswers o UnityFeedback?
 
Muéstranos los errores que te aparecen al hacer Transform.parent.
 
El RectTransform no deja de ser un componente del GameObject, igual que el Transform. Puede que estés accediendo incorrectamente...

Julio 14, 2015, 07:57:11 PM #2 Ultima modificación: Julio 14, 2015, 08:15:37 PM por totemalf
Yo tenia la necesidad de instanciar unos sprites de corazones en el Canvas, y lo he resuelto de esta manera:

GameObject elCanvas;
GameObject vida1;
void Start ()
{
elCanvas = GameObject.Find ("Canvas");
vida1 = (GameObject)GameObject.Instantiate(Resources.Load("prefabs/Vida1"));
vida1.transform.SetParent(elCanvas.transform);

El único problema que me encuentro es que no se instancia en la posición guardada en el prefab, por lo que tendría que reasignarla al instanciar. Por lo demás funciona bien. Espero que te sirva a ti o a cualquiera que pase por estos lares.
 
Saludos.
 
P.D No va a ser siempre pedir ayuda

Etiquetas: