hace 2 años
Construct 2 es un motor de videojuegos 2D intuitivo y poderoso, ideal tanto para principiantes como para desarrolladores experimentados. Una de las claves para crear juegos complejos y bien organizados en Construct 2 reside en el manejo eficiente de las hojas de eventos, los sub-eventos y los layouts. Estos tres elementos son fundamentales para estructurar la lógica del juego y diseñar los diferentes escenarios o niveles que lo componen. En este artículo, exploraremos en profundidad cómo añadir, gestionar y utilizar estas herramientas para potenciar tus proyectos en Construct 2.

¿Qué son las Hojas de Eventos en Construct 2?
Las hojas de eventos son, esencialmente, listas organizadas de eventos que definen el comportamiento de tu juego. Piensa en ellas como el cerebro de tu proyecto, donde estableces las reglas y acciones que rigen la interacción entre los objetos y la lógica del juego. Se editan en la 'Vista de Hoja de Eventos' y se listan de manera conveniente en la 'Barra de Proyecto', facilitando su acceso y gestión.

Añadir y Eliminar Hojas de Eventos
Comenzar a organizar tu proyecto con hojas de eventos es muy sencillo:
- En la 'Barra de Proyecto', localiza la carpeta 'Hojas de eventos' (generalmente en la raíz del proyecto).
- Haz clic derecho sobre esta carpeta.
- Selecciona 'Añadir hoja de eventos'.
¡Listo! Una nueva hoja de eventos se habrá creado, lista para que empieces a añadir eventos y lógica a tu juego.
Si necesitas renombrar una hoja de eventos, o eliminarla porque ya no es necesaria, el proceso es igualmente intuitivo:
- En la 'Barra de Proyecto', localiza la hoja de eventos que deseas modificar.
- Haz clic derecho sobre el nombre de la hoja de eventos.
- Selecciona 'Renombrar' para cambiar el nombre, o 'Eliminar' para deshacerte de ella.
Construct 2 también te ofrece una funcionalidad muy útil: al añadir un nuevo layout (que veremos en detalle más adelante), el programa te preguntará si deseas crear automáticamente una hoja de eventos asociada a ese layout. Esto facilita la organización y asegura que cada nivel o escena tenga su propia lógica de eventos.
Compartiendo Eventos entre Layouts
En muchos proyectos, te encontrarás con que ciertos eventos o comportamientos son comunes a varios layouts. Para evitar la tediosa tarea de duplicar eventos y mantener la coherencia, Construct 2 ofrece dos métodos para compartir eventos entre layouts:
- Asignar la misma hoja de eventos a varios layouts: Cada layout tiene una propiedad llamada 'Hoja de eventos asociada'. Puedes seleccionar la misma hoja de eventos para múltiples layouts. De esta manera, todos esos layouts compartirán la misma lógica de eventos.
- Incluir hojas de eventos dentro de otras hojas de eventos: Crea una hoja de eventos separada que contenga todos los eventos comunes que deseas compartir. Luego, en las hojas de eventos de otros layouts, 'incluye' esta hoja de eventos común. Esto se logra mediante la acción 'Incluir hoja de eventos' dentro de la hoja de eventos principal.
La segunda opción, la de incluir hojas de eventos, suele ser más flexible y recomendable. Te permite tener una base de eventos comunes, pero a la vez, puedes añadir eventos específicos a cada layout para personalizar su comportamiento sin afectar a los demás. Imagina que tienes un juego con varios niveles, y todos comparten mecánicas básicas de movimiento y puntuación. Puedes crear una hoja de eventos 'común' para estas mecánicas, e incluirla en las hojas de eventos de cada nivel. Luego, en cada hoja de eventos de nivel, puedes añadir eventos específicos para los enemigos, los objetivos o los desafíos particulares de ese nivel.
Sub-Eventos: Lógica Condicional Avanzada
Los sub-eventos son una herramienta poderosa dentro de las hojas de eventos que te permiten crear lógica condicional más compleja y organizada. Se caracterizan por aparecer indentados debajo de un evento 'padre'. Su funcionamiento se basa en la selección de instancias de objetos que haya realizado el evento padre. Es decir, los sub-eventos trabajan con los objetos que ya fueron 'seleccionados' o 'filtrados' por el evento principal.
¿Cómo Funcionan los Sub-Eventos?
Imagina el siguiente escenario: quieres que un monstruo dañe al jugador al tocarlo, pero solo si el jugador no tiene un escudo activado. Con sub-eventos, puedes lograr esto de manera clara y eficiente:
Evento: Condición: Monstruo colisiona con Jugador Sub-evento: Condición: Variable de instancia 'EscudoActivado' del Jugador es Falso Acción: Restar salud al Jugador Sub-evento: Condición: Variable de instancia 'EscudoActivado' del Jugador es Verdadero Acción: Restar salud al Monstruo
En este ejemplo:
- El evento principal comprueba si algún monstruo está colisionando con el jugador. Si es así, se 'recuerdan' las instancias de monstruos y jugador involucradas.
- El primer sub-evento (indentado) se ejecuta solo si el evento padre se cumplió. Comprueba si la variable de instancia 'EscudoActivado' del jugador es falsa. Si es así, resta salud al jugador. Importante: Este sub-evento opera sobre el mismo jugador y monstruo que fueron detectados en la colisión del evento padre.
- El segundo sub-evento (también indentado) también se ejecuta solo si el evento padre se cumplió. Comprueba si la variable 'EscudoActivado' del jugador es verdadera. Si es así, resta salud al monstruo. Nuevamente, opera sobre las instancias ya seleccionadas.
La clave está en que los sub-eventos heredan la selección de objetos del evento padre. Si los sub-eventos no estuvieran indentados, no funcionarían correctamente. En el ejemplo anterior, si los sub-eventos fueran eventos independientes, el segundo evento (el que resta salud al monstruo) restaría salud a todos los monstruos en la escena, ya que no estaría relacionado con la colisión inicial.
Los sub-eventos pueden anidarse, creando sub-sub-eventos, y así sucesivamente, permitiendo una lógica de juego muy compleja y ramificada.

Triggers en Sub-Eventos
Los triggers (disparadores) en sub-eventos añaden una capa extra de control. Si un trigger se utiliza en un sub-evento, todas las condiciones del evento padre deben ser verdaderas en el momento exacto en que el trigger se dispara, de lo contrario, el sub-evento no se ejecutará.
Además, solo puede haber un trigger por rama de sub-eventos. Esto significa que, en una cadena de sub-eventos, solo uno de ellos puede contener un trigger.
Añadir y Eliminar Sub-Eventos
Añadir sub-eventos es tan sencillo como añadir eventos normales:
- En la 'Vista de Hoja de Eventos', haz clic derecho en el margen del evento padre al que quieres añadir un sub-evento.
- Selecciona 'Añadir sub-evento'.
- Alternativamente, puedes usar la pestaña 'Eventos' en la cinta de opciones, o simplemente presionar la tecla 'S'.
Para eliminar un sub-evento, selecciónalo haciendo clic en el margen del evento y presiona la tecla 'Suprimir'.
Layouts: Diseñando Escenarios y Niveles
Un layout en Construct 2 es esencialmente un 'escenario' o 'nivel' de tu juego. Representa una disposición predefinida de objetos que conforman una escena jugable, un menú, una pantalla de título o cualquier otra parte visual de tu juego. En otros motores o herramientas, los layouts pueden conocerse como 'escenas', 'rooms', 'frames' o 'stages'.
Los layouts se gestionan desde la 'Barra de Proyecto', donde puedes añadirlos, renombrarlos y eliminarlos. Se editan en la 'Vista de Layout', donde puedes colocar y organizar los objetos que formarán parte de ese nivel o escena.
Cada layout tiene una hoja de eventos asociada, que define la lógica y el comportamiento específico de ese layout. Como vimos anteriormente, puedes compartir hojas de eventos entre layouts para reutilizar lógica común.

Capas en Layouts
Un layout no es solo un lienzo plano; está compuesto por una pila de capas. Cada layout debe tener al menos una capa. Los objetos que ves en pantalla no pertenecen directamente al layout, sino a una de las capas dentro del layout.
Las capas son fundamentales para organizar visualmente tu juego. Puedes usar capas para:
- Fondo: Una capa para elementos de fondo que permanecen estáticos.
- Personajes: Una capa para los personajes jugables y enemigos.
- Interfaz de usuario (UI): Una capa superior para elementos como el marcador, botones y menús, que suelen permanecer fijos en pantalla.
- Efectos especiales: Capas para partículas, efectos visuales, etc.
Las capas te permiten controlar el orden de dibujo de los objetos (qué objetos se dibujan encima de otros), aplicar efectos a grupos de objetos, y optimizar el rendimiento del juego.
Añadir y Eliminar Layouts
Añadir nuevos layouts para expandir tu juego es muy sencillo:
- En la 'Barra de Proyecto', localiza la carpeta 'Layouts' (generalmente en la raíz del proyecto).
- Haz clic derecho sobre esta carpeta.
- Selecciona 'Añadir layout'.
Para renombrar o eliminar un layout:
- En la 'Barra de Proyecto', localiza el layout que deseas modificar.
- Haz clic derecho sobre el nombre del layout.
- Selecciona 'Renombrar' o 'Eliminar'.
Propiedades de Layout
Cada layout tiene una serie de propiedades que puedes configurar para personalizar su comportamiento y apariencia. Para acceder a las propiedades de un layout, selecciónalo en la 'Barra de Proyecto' o haz clic en un espacio vacío dentro de la 'Vista de Layout'. Las propiedades se mostrarán en la 'Barra de Propiedades'.
Algunas de las propiedades más importantes son:
- Nombre: El nombre del layout, que se muestra en la 'Barra de Proyecto'.
- Hoja de eventos: La hoja de eventos asociada a este layout. Aquí puedes seleccionar una hoja de eventos existente o crear una nueva.
- Tamaño: Las dimensiones del layout en píxeles. Define el área jugable o visible del nivel. Si el 'Desplazamiento ilimitado' está activado, este tamaño afecta al área visible en la 'Vista de Layout', pero no limita el scrolling en el juego.
- Desplazamiento ilimitado: Por defecto, la cámara del juego no puede desplazarse más allá de los bordes del layout. Activar esta opción permite el desplazamiento ilimitado en cualquier dirección, incluso fuera de los límites definidos por el tamaño del layout. Útil para juegos con mundos extensos.
- Proyección: Define el tipo de proyección para renderizar características 3D.
- Perspectiva: La proyección predeterminada, que simula la perspectiva del mundo real, haciendo que los objetos se vean más pequeños a medida que se alejan.
- Ortográfica: Mantiene los objetos del mismo tamaño independientemente de su distancia a la cámara, creando un aspecto plano y 2D puro.
- Punto de fuga: Cuando se utilizan características 3D con perspectiva, esta propiedad define la posición del punto de fuga en relación al área de visualización. Afecta a cómo los objetos convergen hacia el horizonte al alejarse.
- Efectos: Permite añadir y editar efectos visuales que se aplican a todo el layout, como filtros de color, desenfoque, etc.
Propiedades del Editor
Además de las propiedades que afectan al juego en tiempo de ejecución, los layouts también tienen 'Propiedades del Editor'. Estas propiedades solo afectan a cómo se muestra y se trabaja con el layout dentro del editor de Construct 2, y no tienen impacto en el juego final.
Conclusión
Dominar el uso de hojas de eventos, sub-eventos y layouts es esencial para crear juegos bien estructurados y complejos en Construct 2. Las hojas de eventos te permiten organizar la lógica del juego, los sub-eventos te ofrecen un control condicional avanzado, y los layouts te permiten diseñar y gestionar los diferentes niveles y escenas de tu proyecto. Utilizando estas herramientas de manera eficiente, podrás llevar tus habilidades de desarrollo de juegos en Construct 2 al siguiente nivel y crear experiencias interactivas más ricas y atractivas.
Preguntas Frecuentes (FAQ)
- ¿Puedo tener un layout sin una hoja de eventos asociada?
- Sí, es posible, pero no es recomendable en la mayoría de los casos. Un layout sin hoja de eventos será estático, sin comportamiento ni interactividad. En general, cada layout debería tener su propia hoja de eventos, o compartir una con otros layouts si tienen lógica en común.
- ¿Cuántas hojas de eventos puedo tener en un proyecto?
- No hay un límite estricto. Puedes tener tantas hojas de eventos como necesites para organizar la lógica de tu juego. Es recomendable dividir la lógica en hojas de eventos más pequeñas y específicas para mejorar la organización y la legibilidad.
- ¿Qué diferencia hay entre un evento y un sub-evento?
- Un evento es una unidad básica de lógica que se evalúa en cada frame del juego. Un sub-evento depende de un evento padre y se ejecuta solo si el evento padre se cumple. Los sub-eventos heredan la selección de objetos del evento padre, lo que permite crear lógica condicional más compleja y eficiente.
- ¿Puedo reutilizar layouts en diferentes proyectos?
- Sí, puedes copiar y pegar layouts entre proyectos de Construct 2. También puedes guardar layouts como 'templates' o 'plantillas' para reutilizarlos fácilmente en futuros proyectos.
- ¿Es mejor tener layouts grandes o pequeños?
- Depende del tipo de juego. Para juegos con scrolling horizontal o vertical, layouts grandes pueden ser necesarios. Para juegos de pantalla estática o por niveles, layouts más pequeños y enfocados en cada nivel pueden ser más adecuados. Considera la complejidad visual y la cantidad de objetos en cada layout para optimizar el rendimiento.
