Noticias

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

Colocar un prefab a un script mediante código

Iniciado por Alex, Abril 24, 2018, 12:13:27 AM

Tema anterior - Siguiente tema
Hola! Quisiera saber como puedo poner o colocar un prefab/gameObject a un script que tiene el "public GameObject prueba; 
 
Lo que quiero es que se pueda colocar ese gameObject a la casilla de prueba, pero mediante script,  hay posibilidad?

Cita de: Alex date=1524521607Hola! Quisiera saber como puedo poner o colocar un prefab/gameObject a un script que tiene el "public GameObject prueba; 
   
   
      Lo que quiero es que se pueda colocar ese gameObject a la casilla de prueba, pero mediante script,  hay posibilidad?
   


pregunto, que estás tratando de hacer? porque que se pueda hacer no significa que sea lo ideal, o incluso lo aceptable a hacer.
 
Eso que pedís es como tener el control remoto al lado del TV, vos estás sentado a 4 m del TV, vas, agarrás el control, volvés y te sentás, cambias de canal, te volvés a parar, dejás el remoto al lado del TV y te sentás nuevamente ... loop... por que no directamente llevarte el remoto, o cambiar de canal del mismo TV ? ... Si tenés un public GameObject es porque querés tener una referencia de él, para traer a un prefab al inspector necesitás por código referenciar a dicho prefab (ej Resources.Load ...), pero en tucaso lo llevas a inspector para poder referenciarlo luego ... es como hacer dos acciones pero lograr un solo resultado final.
 
el public del inspector tiene como motivo principal el diseño, por ej no tiene sentido fijar un target para un script de un (por ej) misil launcher, es algo mucho más versatil que el diseñador de nivel por ej arrastre el target hacia el inspector, en este caso el public está perfecto, pero en otras ocaciones puede ser que quieras que las explosiones de los misiles del misil launcher sean todas iguales o que sigan una variacion determinada de algún prefab, y no setearla para cada posible inspector de cada gameObject, entonces ese recurso se puede cargar y usarse para lo que se quiera. Si querés ponerlos en el casillero solo para que sean publicos tambien es un error, si los podes referenciar desde cualquier lado, Resources.load es un metodo public static.
 
 
 
 

    

Cita de: lightbug date=1524523693pregunto, que estás tratando de hacer? porque que se pueda hacer no significa que sea lo ideal, o incluso lo aceptable a hacer.
   


Hay casos como en el networkmanager que te pide que pongas al jugador en la casilla de player, pero yo tengo 3 jugadores y quiero que uno de ellos entre a esa casilla ya que no puedo poner a los 3, por eso quería un script que haga poner a ese jugador en esa casilla (dependiendo si es el jugador 1 2 o 3)  y en otras cosas más que son casi igual a este ejemplo

te pide eso?
 
bueno podrías hacer:
 

public GameObject objCasilla;   //ponele que este sea el obj casilla
 
...
(en algun momento)
objCasilla = Resources.Load<GameObject>("tuPrefabEnLaCarpetaLLamadaexactamente_Resources") as GameObject;

 
fijate si aparece en la casilla

Cita de: lightbug date=1524578034fijate si aparece en la casilla
   


No pasa nada :|

estaba buscando y al parecer si se coloca en su casilla, pero como le hago para que ese objeto se posicione en la casilla del networkmanager,  ya que no se puede editar ese script. Se podría conectar los dos script y mandar una información que diga "si uno de los objetos esta activo, coloco a "ejemplo" en la casilla de player. 

Etiquetas: