Version: 2020.1
Creando Transiciones de Pantalla
Conceptos básicos de IMGUI

Immediate Mode GUI (IMGUI)

El sistema “Immediate Mode” GUI (también conocido como IMGUI) es una característica completamente separada del principal Sistema UI basado en GameObject de Unity. IMGUi es un sistema GUI manejado por código, y se piensa principalmente como una herramienta para los programadores. Es llevada por llamadas a la función OnGUI en cualquier script que intenta implementarla. Por ejemplo, este código:

    void OnGUI() {
            if (GUILayout.Button("Press Me"))
                Debug.Log("Hello!");
        }

Resultaría en un botón mostrado como:

El resultado del ejemplo de código de arriba
El resultado del ejemplo de código de arriba

El sistema de Immediate Mode GUI se utiliza comúnmente para:

  • Crear visualización y herramientas de depuración dentro del juego.
  • Crear inspectores personalizados para componentes script.
  • Crear nuevas ventanas del editor y herramientas para extender Unity en sí.

El sistema IMGUI por lo general no está destinada a ser utilizada para interfaces normales de usuario del juego que los jugadores podrían utilizar e interactuar. Para esto, usted debería utilizar el principal Sistema UI basado en GameObject, el cual ofrece un enfoque basado en GameObjects para editar y posicionar elementos UI, y tiene muchas mejores herramientas para trabajar el diseño visual y diseño del UI.

“Immediate Mode” se refiere a la manera que IMGUI es creado y dibujado. Para crear elementos IMGUI, usted debe escribir código que va en una función especial llamada OnGUI. El código para mostrar la interfaz se ejecuta cada frame, y se dibuja a la pantalla. No hay GameObjects persistentes que no sean el objeto al que está asociado el código OnGUI u otros tipos de objetos en la jerarquía relacionados con los elementos visuales que se dibujan.

IMGUI le permite a usted crear una gran variedad de GUIs funcionales utilizando código. En vez de crear GameObjects, posicionarlos manualmente, y luego escribir un script que maneja su funcionalidad, usted puede hacer todo esto de una sola vez con unas pocas lineas de código. El código produce GUI controls (controles GUI) que son dibujados y manejados con una sola llamada a la función.

Esta sección explica cómo utilizar IMGUI ambos en su juego y en extensiones al Editor de Unity.

Creando Transiciones de Pantalla
Conceptos básicos de IMGUI