Kit de interfaz de juego UIDoc
Da estilo a las pantallas UIDoc terminadas con el kit de UI de juego dibujado a mano del motor: el mecanismo @import, la referencia de clases, las reglas de ensamblaje y ejemplos prácticos.
El kit de UI del juego es el conjunto de UI dibujado a mano del equipo de arte ($AO/ui/kit/Game UI/**): modales, botones, pestañas, barras de progreso, banners, portillas, ranuras de objetos, casillas de verificación y conmutadores. El motor incluye una hoja de estilo compatible, de modo que cualquier asset UIDoc pueda adoptar el aspecto del kit sin copiar CSS.
Aplica el kit como un último paso de estilización. Construye primero la pantalla — diseño, enlaces, eventos, comportamiento de la ventana gráfica — verifica que funcione y luego aplícale el aspecto. El estilo del kit es pintura y relleno; nunca debe ser la herramienta para arreglar el diseño.
Cómo habilitar el kit
Añade una línea al index.css:
@import "game-ui-kit";En tiempo de compilación, el motor sustituye res/ui/kit/kit.css en lugar de la importación, así que pon primero la importación y debajo tus propias reglas — tus reglas ganan los empates de cascada. La importación se compone con las utilidades de Tailwind. Editar la hoja de estilo del motor vuelve a compilar los assets que la importan en la siguiente compilación; UIDoc sigue sin recargarse en caliente en una partida en ejecución.
El único patrón que debes conocer
UIDoc no tiene fondos CSS de mapa de bits, así que el arte del kit entra a través de elementos ordinarios img Cada contenedor del kit es un elemento posicionado cuyo primer hijo es una .kit-bg imagen; el div posee la forma y el diseño, la imagen solo pinta, con nine-slicing mediante ajustes de asset que vienen con el kit:
<div class="kit-modal">
<img class="kit-bg kit-bg--shadow" src="$AO/ui/kit/Game UI/Modals/Basic Modals/modal_simple_grey1.png">
<!-- content -->
</div>.kit-bg es object-fit: fill para arte con nine-slicing (modales, botones, pestañas, barras, banners). El arte de aspecto fijo (casillas de verificación, conmutadores, portillas, iconos de ranura) usa .kit-bg--contain y el propio ancho/alto del contenedor.
Usa .kit-bg--shadow en el fondo real img cuando el arte deba proyectar una sombra. Usa una drop-shadow(...), sensible al alfa, así que las esquinas transparentes y el resultado pintado del nine-slicing definen la silueta. Un box-shadow sigue en cambio el cuadro delimitador rectangular del contenedor, mientras que poner drop-shadow(...) en el contenedor también incluiría su texto y otros descendientes.
Coloca el texto visible del botón/pestaña en un elemento de etiqueta en primer plano después del arte. El texto sin procesar que pertenece al contenedor puede pintarse debajo de su imagen hija:
El kit baja visualmente las etiquetas directas de botones 5 px para que coincidan con el arte. Para un frente compuesto, como un icono más un precio, envuelve todo el frente en .kit-btn-content para que el icono y el texto se muevan juntos:
Referencia de clases
.kit-bg, .kit-bg--contain, .kit-bg--shadow
Imagen de fondo artística, ajuste de aspecto fijo y sombra de imagen sensible al alfa
.kit-fg
Capa genérica de primer plano por encima de .kit-bg
.kit-modal
Panel posicionado en columna flex con relleno del kit
.kit-modal-header
Área segura del título centrado con 72 px reservados a ambos lados
.kit-modal-title
Fila de título centrada; combínala con .kit-text-header
.kit-title-banner
pointy_banner_* fondo detrás de un título de modal, completamente dentro del modal
.kit-header-band
modal_header_* franja a lo largo del borde superior pintado del modal
.kit-dim
Oscurecimiento de pantalla completa detrás de un modal
.kit-btn, .kit-btn-label, .kit-btn-content, .kit-btn--<colour>
Arte del botón más una etiqueta o grupo de primer plano rebajado visualmente con un contorno que coincide con el color
.kit-tab-row, .kit-tab, .kit-tab-label, .kit-tab--active
Fila de navegación de pestañas tipo pastilla con etiquetas de primer plano
.kit-progress, .kit-progress-fill, .kit-progress--N, .kit-progress--compact
Pista más relleno vinculado; el modificador de familia alinea el relleno y compacta selecciona la escala de 30 px
.kit-card, .kit-list-row
Contenedores estructurales para tarjetas y filas respaldadas por arte
.kit-close
Control de cierre de primer plano anclado de forma absoluta en la esquina superior derecha del modal
.kit-slot, .kit-slot-icon, .kit-slot-qty
Cuadro de inventario/tienda con icono y cantidad
.kit-porthole
Marco circular; apila *_back.png debajo de *_ring.png
.kit-checkbox, .kit-toggle
Controles de estado de aspecto fijo
.kit-text-header/body/body-dark/info
Los cuatro estilos de texto aprobados del documento de arte
Los tamaños de texto siguen el documento de arte (65/55/45/40) en la ventana gráfica lógica estándar; sobrescríbelos en el asset cuando una pantalla necesite una escala diferente.
Reglas de ensamblaje
Esto proviene de la documentación Game UI del equipo de arte y de la práctica establecida; las clases codifican la mayor parte, los patrones de marcado cubren el resto.
Títulos: blanco, Heavy, contorno negro, sombra proyectada (
.kit-text-header), colocados directamente sobre el modal, sobre una.kit-title-banner(fondo de banner oscuro, completamente dentro del modal — evita el banner puntiagudo marrón "amarillo"), o sobre una.kit-header-bandcuando la combinación de colores funciona: una banda saturada sobre un modal claro (rojo sobre blanco) se lee bien; apagado sobre apagado (dorado sobre gris) no. Cuando tengas dudas, el texto de título simple siempre es seguro.Encabezados de modal cerrables: mantén
.kit-closecomo hijo directo de.kit-modal, donde permanece anclado de forma absoluta en la parte superior derecha. Coloca el título o el banner de título dentro de.kit-modal-header; sus reservas laterales simétricas de 72 px mantienen el título visualmente centrado y libre del control de cierre. Calcula el ancho del modal como el ancho deseado del título/banner más ambas reservas de 72 px más el relleno izquierdo y derecho del panel. Esto hace deliberadamente que los modales cerrables sean un poco más anchos que el contenido del cuerpo ajustado al mínimo.Sombras del arte:
box-shadowsigue un cuadro delimitador rectangular. Para arte irregular o de kit con nine-slicing, pon.kit-bg--shadowen el fondo realimgpara que la sombra siga su alfa pintado. No pongas el filtro en.kit-modal, porque eso incluiría el texto del modal y el arte hijo en la silueta de la sombra.Botones: el texto es blanco con un contorno de color que complementa el arte del botón — nunca negro. Coloca una etiqueta simple directamente en
.kit-btn-labelpara que se pinte por encima del arte y reciba el desplazamiento de línea base óptico de 5 px del kit. Para contenido con icono y texto, coloca ambos dentro de un.kit-btn-contenthijo directo para que el par reciba ese desplazamiento juntos. Usashiny_buttonspara compras e interacciones especiales,basic_buttonspara todo lo demás, y dale al texto un relleno generoso. El botón gris es el aspecto deshabilitado.Texto del cuerpo: contorno sutil con 20 % de opacidad (
.kit-text-body) en modales de color; texto oscuro sin adornos (.kit-text-body-dark) en modales blancos/grises.Pestañas: una fila tipo pastilla dentro de el cuerpo del modal, no pegada al borde superior. Coloca el texto en
.kit-tab-label. Active tab uses a colour art variant (e.g.tabs_blue) con un contorno de texto a juego; las pestañas inactivas usantabs_black. Usatab_med.pngotab_large.pngpara etiquetas dinámicas. Los archivos fuente detab_small.pngson inconsistentes y algunos contienen etiquetas horneadas, por lo que intencionalmente no están segmentados en nueve.Barras de progreso: cada carpeta
progress_bar_Nempareja unbacking.pngcon unfill_*.pnghecho a medida, pero los desplazamientos internos difieren por familia y a menudo son asimétricos por el borde inferior/la sombra proyectada. El arte de la pista va en.kit-bg; el relleno compatible de la familia va en.kit-progress-fill, que usaobject-fit: fill; añade el.kit-progress--Nmodificador de familia correspondiente al contenedor y vinculadata-style-image-fill-amount. No sustituyas una imagen icono teñida ni una imagen transparente decorativa: el tinte conserva el alfa de origen, ycoverpuede recortar arte cuadrado en huecos o cuñas diagonales en una pista delgada. Previsualiza la barra en0,0.25,0.5, y1; los diagnósticos actuales no detectan alfa de textura inadecuado. El componente predeterminado tiene 40 px de grosor; añade.kit-progress--compactpara la forma de 30 px escalada proporcionalmente. Para un grosor personalizado, establece valores iguales defont-sizeyheighten el contenedor para que sus sangrías familiares basadas en em se escalen con él. Las pistas del kit usanflex-shrink: 0; elige el grosor explícitamente en lugar de confiar en que un padre flex comprima la pista, lo que puede hacer que la pista y su relleno se resuelvan a tamaños distintos.Ranuras de objeto: cuadrados de color (
inv_square_<colour>1.png) para ranuras llenas;inv_square_empty2.pnges el estado VACÍO diseñado.El arte de la familia de modales comparte una sola escala (esquinas de 37 px, contorno de 6 px en píxeles de origen — los insets de corte suministrados ya tienen esto en cuenta). Las piezas pensadas para componerse, como una banda de encabezado sobre un modal, se alinean porque están dibujadas a la misma escala; no edites manualmente los valores de corte individuales.
Ejemplo: modal de ajustes
Los modales con franja (modal_stripe_*) llevan una banda inferior más oscura — coloca la fila de acciones sobre ella manteniéndola como el último hijo del flujo.
Ejemplo: cuadro de confirmación (solicitud de batalla)
Una banda de encabezado saturada sobre un modal claro, texto oscuro en el cuerpo y un par aceptar/rechazar amarillo/rojo.
Ejemplo: recompensa diaria
Un título respaldado por un banner en un modal gris, ranuras de recompensa, una barra de racha y un brillante botón de reclamar.
Las ranuras rellenas vinculan reward.back a $AO/ui/kit/Game UI/Item Backs/inventory_squares_1/inv_square_blue1.png (u otro color); las ranuras vacías usan inv_square_empty2.png sin icono.
Cobertura del arte
Los insets de nine-slice se incluyen en res/ui/kit/Game UI/.asset_settings para: Modales básicos (simples, con franja, con encabezados), botones básicos y brillantes, pastillas y trapezoides de pestañas de modal medianas/grandes, fondos/rellenos de barras de progreso horizontales (excluyendo sprites de segmento y barra fija de aspecto 12), banners puntiagudos horizontales y paneles interiores horizontales. Las piezas de aspecto fijo —incluidos los cuadrados de inventario, casillas de verificación, deslizadores y conmutadores, portillas, máscaras de ayuda y resaltados— no necesitan cortes. Otras familias (tarjetas, bocadillos de diálogo, banners elegantes, fondos de clasificación) existen en el kit pero todavía no tienen insets ajustados; mídelos antes de cortarlos y mantén las piezas compuestas a una sola escala compartida.
Última actualización