Alguien me puede ayudar? estoy intentado hacer que todos mis gameobjects que están dentro de [] se importen a mi escena, para eso uso algo como esto:
public GameObject[] regalos;
public void start
{
instantiate (regalos[0], transform.position, transform.rotation);
}
el problema es que solo se importa el objeto numero 0, alguna forma de importar todos a la vez?
el otro problema es que, cuando quiero desactivar en algún momento esos regalos, se desactivan en la carpeta del proyecto, no dentro del juego, los regalos están puestos en las casillas de [] (sea regalo 0,1,2) opino que desde la carpeta de proyecto al parecer cuando son instanciados pierden relación con los que están en la "jerarquía" y los de "Proyecto" parece como si fueran diferentes, yo quiero que tengan relación los dos, intente usar el resources.load pero no logre nada, alguien puede explicarme un poco como puedo solucionarlo?
Con un bucle for
for(int i = 0; i < regalos.Lenght; i++){
instantiate (regalos, transform.position, transform.rotation);
}
Lo he escrito así a ojo, revisalo bien.
public GameObject[] regalos;
public void Start ()
{
foreach (GameObject regalo in regalos)
{
Instantiate (regalo, transform.position, transform.rotation);
}
}
Gracias! ya logre instanciarlos, pero cuando ya están en el juego no interactuan, por ejemplo cuando las desactivo desde el mismo script, se desactivan pero los de la carpeta, no los que fueron instanciados el la escena, alguna idea de lo que pasa?
Cita de: Alex date=1538579716Gracias! ya logre instanciarlos, pero cuando ya están en el juego no interactuan, por ejemplo cuando las desactivo desde el mismo script, se desactivan pero los de la carpeta, no los que fueron instanciados el la escena, alguna idea de lo que pasa?
Seguro sea porque no hay conexion o referencia entre tu arreglo de GameObject con los GameObject instanciados. Podrías usar un array pero pongo un ej con una List.
public GameObject[] regalos;
List<GameObject> regalosEscena = new List<GameObject>();
public void Start ()
{
foreach (GameObject regalo in regalos)
{
GameObject instanciado = Instantiate (regalo, transform.position, transform.rotation);
regalosEscena.Add( instanciado );
}
}
void Desactivar()
{
foreach (GameObject regalo in regalosEscena)
regalo.SetActive( false );
}