layer-groupFundamentos de UI

Añadir UI a tu juego requiere escribir código, pero con la ayuda de la IA es sustancialmente más fácil crear UIs interactivas sofisticadas.


Agregar interfaz de usuario a tu juego requiere escribir código, pero una vez que aprendes algunos patrones puedes crear interfaces limpias y escalables rápidamente. Esta guía te guía a través de un tutorial paso a paso que termina con un ejemplo completo de diálogo.

circle-info

Toda la IU para un jugador debe dibujarse dentro de la pila de llamadas ao_late_update y envolverse con is_local_or_server(). Esto evita que la IU aparezca para el cliente equivocado.

En cualquier momento, puedes saltar a Referencia de IU para más patrones y detalles más profundos.

Paso 1: Crear un punto de entrada de IU

Toda la IU interactiva debe dibujarse desde el ao_late_update:

Player :: class : Player_Base {
    ao_late_update :: method(dt: float) {
        if this->is_local_or_server() {
            draw_ui(this);
        }
    }
}

Paso 2: Comenzar desde un rectángulo de pantalla

La IU de pantalla siempre debe derivarse de UI.get_safe_screen_rect() o UI.get_screen_rect(). Recuerda: (0, 0) es la esquina inferior izquierda y Y crece hacia arriba.

draw_ui :: proc(player: Player) {
    screen := UI.get_safe_screen_rect();

    // Un panel simple centrado
    panel := screen->center_rect()->grow(120, 200, 120, 200);
    UI.quad(panel, core_globals.white_sprite, {0, 0, 0, 0.7});
}

Paso 3: Usar Cut para el diseño

Al distribuir múltiples elementos, recorta espacio de un rect en lugar de posicionar todo desde el mismo origen.

Paso 4: Añadir texto

Usa las configuraciones de texto para controlar tamaño, color y alineación.

Paso 5: Añadir botones

Los botones combinan diseño e interacción. Usa un sprite de botón de los recursos suministrados por el motor (ver Referencia de IU para más).

Ahora combina todos los pasos en un diseño de diálogo reutilizable.

Última actualización