Paso 3: Uso avanzado
Objetos globales nacen en su layout original, pero pueden ser destruidos en cualquier layout. Si regresas a su layout original después de su destrucción, no van a estar allí! Esto significa que, si tenemos un juego en el que el usuario pasa al menú principal -> UI -> Nivel 1, entonces posiblemente vuelva al menú principal o incluso a la pantalla de Records, Selección de nivel o Compras, nosotros necesitamos manejar la visibilidad (e interactividad) de la UI para mantenerla oculta de el jugador cuando no se requiere - no podemos simplemente destruir los objetos UI y esperar que vuelvan.
Si tus elementos UI nunca son interactivos (es decir: el usuario nunca hace clic en ellos), esto es fácil: simplemente establece la capa "UI" en cada pantalla a visible o invisible, dependiendo de si tú quieres que esta se muestre o no. Por esta razón, quisiera resaltar otra vez que cada layout en tu juego necesita tener la misma composición de la capa (layer), incluso si la mayoría de estas capas están vacías (que sería probablemente el caso en tu Menú Principal, lo que podría tener como máximo sólo unas pocas capas útiles). No olvides establecer tu layer UI visible en tu layout UI.
Si tus elementos de UI son interactivos, entonces aquí hay un truco fácil: en tus eventos de interacción (como un [Mouse: On clicked…]) agrega otra condición [System: Layer “UI” is visible]. Esto asegurará que el usuario no pueda nunca accidentalmente hacer clic en objetos invisibles (sí, esto puede ocurrir). Esto es también un truco práctico para pantallas de diálogo emergentes, pantallas de opciones o alguna otra interacción no-juego
que podrían surgir durante el nivel.
Finalmente, solo una mención de juegos basados en selección de niveles, y juegos en donde tú vas a continuar tu progreso desde donde lo hayas dejado. No he probado esta funcionalidad con la característica de guardado del juego, pero por todo lo que entiendo de esto, debería funcionar. Si tu has hecho tu propio sistema de guardado de juegos (usando WebStorage), asegúrate de configurar tu evento de cambio layout UI a algo como esto [System: On start of layout -> System: Go to “Level ”&CurrentLevel].
Ahora que realmente ya está! Esta es una simple característica pero que a menudo se pasa por alto en Construct 2, y quería resaltar esto como la pregunta de interfaces de usuario que a menudo aparece en los foros. Si tu tienes alguna pregunta o sugerencia, por favor siéntete libre de dejar un comentario abajo, y no olvides de tomar el capx aquí (versión de Construct 2 r136 o superior es requerida) si la necesitas.