Activar / Desactivar Paneles

celiagmm - 08/08/2020 14:29
Buenas tardes,

Estoy comenzando a diseñar una aplicación, y, para una misma escena, estoy intentando realizar un script que permita que cuando uno de los paneles esté activado, el resto de ellos esté desactivado, pero no consigo que funcione.

Estoy buscando en foros, no encuentro nada, ¿cómo podría ocultarlos?

Muchas gracias.
3dpoder - 12/04/2023 11:56
Una forma de activar y desactivar paneles en Unity mediante un script es la siguiente:

Primero, debes tener los paneles que deseas activar y desactivar en la escena de Unity.

Luego, en el script, debes crear referencias a los paneles que deseas controlar. Por ejemplo, si tienes tres paneles llamados "Panel1", "Panel2" y "Panel3", puedes crear las siguientes referencias:

[CODE]public GameObject Panel1;
public GameObject Panel2;
public GameObject Panel3;
[/CODE]

En el método donde deseas activar un panel y desactivar los demás, debes utilizar las siguientes líneas de código:

[CODE]Panel1.SetActive(false);
Panel2.SetActive(false);
Panel3.SetActive(false);

PanelQueQuieresActivar.SetActive(true);
[/CODE]

En este ejemplo, los paneles "Panel1", "Panel2" y "Panel3" se desactivan utilizando el método "SetActive(false)" y luego se activa el panel que deseas mostrar mediante "SetActive(true)".

Por último, debes llamar a este método desde donde desees activar el panel correspondiente. Por ejemplo, si deseas activar el "Panel1" desde un botón, puedes agregar el siguiente código al método del botón:

[CODE]public void ActivarPanel1() {
ActivarUnPanelYDesactivarOtros(Panel1);
}
[/CODE]

En resumen, debes crear referencias a los paneles, escribir un método que desactive los paneles y active el que deseas, y llamar a ese método desde donde desees activar el panel correspondiente.