Unity 2d

9Lucho

Necesito Ayuda Con Un Juego Que Estoy Haciendo En Unity.
La cosa es que quiero hacer un script en el cual, cuando activo un objeto con un boton,
se desactive otro/s que ya estaba activado, como puedo lograr esto?
Soy muy nuevo en unity y queria saber como podria hacer esto.
Agradezco la ayuda.

neZbo

No sé si te he entendido bien, pero yo haría algo así:

En la clase metería un array de GameObject con los objetos con los que quieres trabajar y luego una función a la que le pases el nombre o tag del objeto/objetos a activar.

using UnityEngine;

public class CambioEstadoObjetos : MonoBehaviour
{
    public GameObject[] objetos;

public void CambiarEstadoObjetosPorNombre(string NombreObjetoAActivar)
{
    foreach (GameObject objeto in objetos)
        objeto.SetActive(objeto.name == NombreObjetoAActivar);
}

public void CambiarEstadoObjetosPorTag(string TagObjetoAActivar)
{
    foreach (GameObject objeto in objetos)
        objeto.SetActive(objeto.tag == TagObjetoAActivar);
}
}

https://learn.unity.com/tutorial/arrays-9o#
https://docs.unity3d.com/ScriptReference/GameObject.SetActive.html

Bienvendo al foro.

Usuarios habituales

  • neZbo
  • 9Lucho

Tags