pixelboyz logo
Desarrollo de Videojuegos

Tutorial de Godot Engine Parte 5–Programación GUI. Uso de controles, widgets y contenedores

image

Índice de contenido


Este tutorial está disponible como un video HD aquí.

En este tutorial vamos a ver los aspectos de la interfaz de usuario del motor del juego Godot. Si tienes experiencia previa con otros motores de juegos, probablemente te sorprenda la cantidad de widgets y contenedores de interfaz de usuario que se envían con Godot. Si bien muchos de estos controles nunca se usarían en un juego, son absolutamente invaluables para crear herramientas. Por supuesto, también son excelentes para crear juegos, lo que facilita la implementación de la interfaz de usuario.

Usar Controles en Godot es como usar cualquier otro Nodo, aunque la relación entre ellos es donde las cosas varían más. Echemos un vistazo rápido a lo que está incluido:

Todos los controles heredan de Control, que a su vez hereda de CanvasItem, lo que permite dibujarlo en la pantalla. Al final del día, hay tres categorías de Controles: Wdigets de interfaz de usuario, Contenedores y Ventanas emergentes. Los contenedores son controles que contienen otros controles. Muy a menudo, organizarán automáticamente sus contenidos para usted. Las ventanas emergentes son exactamente eso, cuadros de diálogo que puede mostrar para cosas como mensajes, selección de archivos, etc. Luego está todo lo demás… estos son los diversos widgets que puede usar en su aplicación, como botones, etiquetas e incluso reproductores de video.

Su primera aplicación GUI

Empecemos, mostremos cómo funcionan los controles y la relación entre contenedores y controles. Vamos a crear un menú simple donde nuestros controles se dispondrán verticalmente automáticamente.

Comience creando un VBoxContainer, que es una caja de controles que organiza automáticamente sus elementos secundarios verticalmente.

Cree un nodo VBoxContainer:

imagen

Ajusta el tamaño un poco centrado en tu pantalla, así:

imagen

Ahora, en la pestaña Escena, asegúrese de que VBoxController esté seleccionado y cree un nuevo nodo:

imagen

Seleccione el botón de menú:

imagen

Repita un par de veces para que tenga varios botones. La jerarquía de su escena debería verse así:

imagen

A continuación, seleccione MenuButton y en el Inspector establezca el Texto:

imagen

Puede establecer una serie de propiedades que controlan la apariencia del botón. Tenga en cuenta que, como todos los demás nodos en Godot, el Control hereda la información posicional de su contenedor principal.

A medida que agrega texto a sus controles, puede ver que el contenedor los alinea verticalmente automáticamente dentro de:

imagen

Ahora, ¿qué sucede si desea expandir las etiquetas para usar todo el espacio disponible dentro del control principal? Eso también se puede lograr fácilmente. Para cada botón, vaya al Inspector y despliegue la configuración Vertical y asegúrese de que Expandir esté seleccionado:

imagen

Ahora deberías ver el menú dispuesto así:

imagen

Puede encontrar que la Fuente es ridículamente pequeña… así que vamos a crear rápidamente una nueva fuente. Cubrimos esto en el pasado, pero un resumen rápido. Seleccione Importar->Fuente:

imagen

Seleccione un archivo ttf y guárdelo como un archivo fnt, así:

imagen

Ahora puede cambiar la fuente de cada elemento del menú usando la opción Cargar de Fuente personalizada en el Inspector con un Botón seleccionado, así:

imagen

Después de configurar la fuente, los tamaños deberían cambiar automáticamente, así:

imagen

Debe realizar esta tarea para cada Botón… o…

Usar un tema

Godot tiene un soporte de temas limitado, pero en realidad eso solo significa que puedes configurar una fuente común. Selecciona el VBoxContainer, localiza Theme y crea uno nuevo:

imagen

Ahora suéltalo de nuevo y selecciona Editar:

imagen

Esto ahora lo llevará a la ventana del editor de temas, que contiene una vista previa de cómo se ve su tema con varios controles:

imagen

En el Inspector, seleccione Tema->Fuente predeterminada y cargue nuestra fuente:

imagen

Cuando esté satisfecho con su tema, seleccione el botón Guardar recurso:

imagen

Guárdelo como un archivo .thm:

imagen

Ahora todos los controles en su contenedor deben actualizarse (es posible que deba cargar el tema nuevamente usando Tema-> Cargar):

imagen

Conexión del código a su control

Ahora que tenemos nuestros controles cableados, sigamos adelante y conéctelos para hacer algo.

Primero, adjuntemos un script a nuestro contenedor. En la pestaña Escena, seleccione VBoxController y haga clic en el botón de nueva secuencia de comandos:

imagen

Créalo usando la configuración que desees, así:

imagen

Ahora seleccione su primer MenuButton y haga clic en el botón Conexiones:

imagen

Seleccione Presionado, luego presione el botón Conectar:

imagen

Asegúrese de que el contenedor esté seleccionado, luego presione Conectar:

imagen

Esto creará un método llamado _on_MenuButton_pressed en el script VBoxContainer.

Ahora edite su código así:

imagen

Ahora ejecuta tu juego y deberías ver:

imagen

Y si haces clic en el primer botón, deberías ver:

imagen

Hay varios controles más disponibles, pero el proceso básico para usarlos es casi idéntico, así que no entraré en eso. Para obtener más detalles sobre cómo diseñar controles o más ejemplos (como el uso de ventanas emergentes y botones de mapa de bits), ¡asegúrese de ver también el video tutorial!

La versión de vídeo




Source link

Tags :
5Programación,contenedores,controles,Engine,Godot,GUI,parte,Tutorial,uso,widgets

Comparte :

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *