Parte 1 – Preguntas teóricas cortas (10 × 1 punto)
Responde de forma breve y clara.
- Explica con tus palabras qué es el patrón Singleton y pon un ejemplo de caso de uso típico en videojuegos.
- Indica dos problemas o riesgos de abusar del patrón Singleton en un proyecto grande.
- ¿Qué es una máquina de estados (State Machine) y por qué es útil en el desarrollo de videojuegos?
- Diferencia entre implementar una máquina de estados con
enumy coninterfaces. - ¿Qué ventaja tiene usar interfaces en Unity para estructurar el comportamiento de los objetos del juego?
- Define brevemente qué es la localización (Localization) en un videojuego.
- ¿Por qué es importante separar la lógica del juego de los textos mostrados en pantalla cuando hablamos de localización?
- En el contexto de UI en Unity, explica qué es y para qué sirve un
ManageroGameManager. - ¿Qué es un Prefab en Unity y por qué es tan importante en un editor de objetos como el de la práctica?
- Explica qué es el Raycasting y pon un ejemplo de cómo se usaría en el editor de objetos descrito en la práctica.
Parte 2 – Preguntas de desarrollo / código (5 × 2 puntos)
Escribe el código o pseudocódigo en C# que se pide. No es necesario que sea perfecto, pero sí legible y coherente.
- Implementa un Singleton básico en Unity para un
AudioManagerque solo permita una instancia en la escena.
public class AudioManager : MonoBehaviour
{
public static AudioManager Instance { get; private set; }
private void Awake()
{
// Completar para que solo exista una instancia
}
}
Completa el método Awake.
- Define un
enumllamadoEditorStatecon los estados:Neutral,Create,Move,Rotate,Delete. Escribe un fragmento de código dentro de unEditorManagerque cambie de estado cuando pulsemos los botones de la UI. - Diseña una interfaz
IEditorStatepara una máquina de estados basada en interfaces. Debe tener al menos estos métodos:EnterState(),UpdateState(),ExitState(). Escribe la interfaz y la cabecera de una clase concretaMoveStateque la implemente. - Escribe un pequeño ejemplo de interfaz en C# llamada
ISelectableque obligue a los objetos a implementar un métodoOnSelect()yOnDeselect(). Después, muestra cómo la usarías en un objeto del escenario. - En el sistema de localización, explica (con pseudocódigo o esquema) cómo cargarías un texto localizado a partir de una clave, usando un
LocalizationManagery un diccionario de claves/valores.
Parte 3 – Caso práctico: Editor Multimedia Interactivo (5 × 3 puntos)
Lee el enunciado de la práctica “Realización de un Editor Multimedia Interactivo” y responde.
- Diseña el diagrama básico de la máquina de estados del editor (texto): indica los estados y las transiciones principales entre ellos, incluyendo cómo se vuelve al estado neutro.
- Explica paso a paso el flujo de creación de un objeto desde que el usuario pulsa el botón “Crear” en la UI hasta que el objeto queda fijado en el suelo.
- Explica paso a paso el flujo de movimiento de un objeto (herramienta “Mover”), indicando qué ocurre cuando se hace click en un objeto, mientras se mantiene pulsado y cuando se suelta el botón del ratón.
- Describe cómo implementarías el sistema de eliminación con confirmación (popup) usando estados o subestados (por ejemplo:
Delete_SelectObject,Delete_ConfirmPopup). - Propón al menos tres ejemplos concretos de feedback (sonoro y visual) que añadirías al editor para mejorar la usabilidad, indicando en qué momento se ejecutan (por ejemplo: al seleccionar modo, al colocar objeto, al eliminarlo, etc.).
Soluciones orientativas / Guía paso a paso
Parte 1 – Teoría

Parte 2 – Código

Parte 3 – Caso práctico

Borrador de post para Academia SanRoque
Título del post
Simulacro de examen: patrones de diseño, máquinas de estados y editor interactivo en Unity
Contenido
En el módulo de Programación de Videojuegos estamos preparando al alumnado para un examen donde se combinan varios conceptos clave de desarrollo profesional en Unity:
- Patrón Singleton aplicado a gestores globales (AudioManager, GameManager).
- Máquinas de estados implementadas con
enume interfaces. - Uso de interfaces para estructurar el comportamiento de los objetos del juego.
- Sistema de localización de textos (Localization) en Unity.
- Diseño e implementación de un Editor Multimedia Interactivo: creación, movimiento, rotación y eliminación de objetos en un entorno 3D, con una interfaz de usuario completa y feedback sonoro/visual.
Para ayudarles a preparar la prueba, hemos elaborado un simulacro de examen completo que incluye:
- Preguntas teóricas sobre patrones de diseño, estados e interfaces.
- Ejercicios de código en C# centrados en Singleton, máquinas de estados, interfaces y localización.
- Un caso práctico basado en la práctica “Realización de un Editor Multimedia Interactivo”, donde el alumnado debe describir flujos de interacción (crear, mover, rotar y eliminar objetos) y proponer mejoras de usabilidad mediante feedback sonoro y visual.
El simulacro incluye soluciones orientativas y pasos explicados para que el alumnado pueda comparar sus respuestas, detectar fallos habituales y reforzar los conceptos más importantes antes del examen oficial.
Este material está pensado para alumnado de FP de Programación de Videojuegos, pero también puede resultar útil a cualquier persona que esté aprendiendo Unity y quiera practicar patrones de diseño, máquinas de estados y diseño de herramientas internas (editores) dentro del motor.
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- ¡VOLVEMOS A NUESTROS HORARIOS HABITUALES!

- Especificadores de formato en C (printf/sprintf y scanf)

- Propuestas de actividades avanzadas con XML, DTD, XPath y XSLT

- Apuntes extensos de XML y XSLT

- El momento IDEAL para impulsar tu FORMACIÓN y alcanzar tus Metas Académicas: LAS NAVIDADES.

- 20 ejercicios de funciones avanzadas en Python (al estilo de Ackermann)

- Cómo guardar una página web completa en MySQL con PHP (urlencode, BLOB y otras técnicas)

- 60 ejercicios de funciones recursivas en Python para la carrera de Informática

- SIMULACRO 2 – FP Programación de Videojuegos

ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido





































































































































































































































































INFORMACIÓN SOBRE 







Comments are closed