Introducción a las herramientas de desarrollo para videojuegos
Introducción
Qué son las herramientas de desarrollo
Herramientas más comunes en el mundo del desarrollo de videojuegos
Dibujando en el editor
Sistema IMGUI y Ciclo de vida de Editor
Controles: creando un botón
Creación de toolbar y gui
Gizmos
Handles
Prácticando en el editor
Shortcuts útiles del editor
Context Menus
Menu Item
Herramientas de Editor
Attributes y Property drawers
Iniciando nuestro custom Editor
Serialized properties
Optimizando nuestro custom editor
Guardar y cargar data de herramientas: json, scriptable objects, txt y csv
Encontrar assets para editor window
Editor windows: mostrando datos en el editor
Editor windows: agregando funcionalidades
Cierre del curso
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Al desarrollar proyectos en Unity, es importante no solo guardar la base de datos, sino también crear interfaces visuales que permitan a los usuarios interactuar con los datos de manera intuitiva y eficaz. En este contexto, se hará uso de elementos de GUI para dibujar objetos que actúan como botones y, al seleccionarlos, mostrar información relevante.
onGUI
y scrollRec
en Unity?La función onGUI
en Unity es comúnmente utilizada para dibujar interfaces de usuario en el Editor de Unity. Actúa similar a una función de actualización que refresca continuamente el área visible.
scrollRec
Un scrollRec
es esencialmente un área en la ventana donde podemos desplazar contenido, actuando como un contenedor scrollable. Esta es su implementación en Unity:
Rect scrollRec = new Rect(0, 0, 220, Screen.height);
GUILayout.BeginArea(scrollRec);
Al establecer el área de scroll en la esquina superior izquierda de la pantalla, aprovechamos al máximo el espacio disponible para presentar elementos dinámicos.
Una herramienta poderosa en la interfaz gráfica de Unity es el scrollView
, que permite mostrar una larga lista de elementos dentro de una ventana de tamaño limitado. Para lograr esto, sigue estos pasos:
scrollView
Vector2 scrollPosition = Vector2.zero;
scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Width(220), GUILayout.Height(Screen.height));
En el fragmento anterior, la variable scrollPosition
controla el desplazamiento dentro de la vista, actualizándose automáticamente conforme el usuario interactúa con el scroll.
Para interactuar con los elementos, los programamos como botones que, al pulsarlos, ejecutan acciones especÃficas. Este es el proceso para dibujar botones dentro del scrollView
:
foreach (var item in items)
{
if (GUILayout.Button(new GUIContent(item.displayName, item.icon), GUILayout.Width(200), GUILayout.Height(50)))
{
current.item = item;
}
}
A través de este enfoque, cada elemento en la base de datos se representa gráficamente como un botón. El botón despliega el nombre y, cuando está disponible, el icono del elemento. Si el icono es nulo, la aplicación maneja el caso sin errores.
Una vez que un usuario interactúa con un botón, se activa un evento que actualiza el elemento actual mostrando su información:
currentItem = item;
Este simple pero efectivo mecanismo permite que al seleccionar un elemento, se almacene su referencia, permitiendo que futuras interacciones, como mostrar detalles adicionales, sean posibles.
scrollView
?Con mucha frecuencia cuando se inicia un BeginScrollView
, es crucial cerrarlo con un EndScrollView
, siguiendo la convención de métodos anidados en Unity y asegurando que el renderizado visual funcione sin problemas:
GUILayout.EndScrollView();
GUILayout.EndArea();
La implementación de estas estrategias en Unity no solo facilita la interacción de los usuarios con los datos, sino que también mejora la experiencia de edición desde el editor. Asà que, mientras sigues mejorando tus habilidades en Unity, recuerda que las interfaces visuales juegan un papel fundamental en cómo los usuarios exploran y manipulan datos. ¡Sigue adelante y exprésate creativamente a través de tus interfaces!
Aportes 0
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?