layer-groupFundamentos de UI

Añadir UI a tu juego requiere escribir código, pero con la ayuda de la IA es bastante 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 lleva a través de un tutorial paso a paso que termina con un ejemplo de diálogo completo.

circle-info

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

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

Paso 1: Crear un punto de entrada de UI

Toda la UI interactiva debe dibujarse desde la ao_late_update:

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

Paso 2: Empezar desde un rectángulo de pantalla

La UI 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: Usa Cut para el diseño

Al organizar varios elementos, recorta espacio de un rectángulo en lugar de posicionarlo todo desde el mismo origen.

Paso 4: Añadir texto

Usa la configuración de texto para controlar el tamaño, el color y la alineación.

Paso 5: Añadir botones

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

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

Última actualización