La serie clásica de Mega Man de NES utiliza una técnica de desplazamiento muy específica que me cuesta trabajo implementar. Esencialmente, el nivel se divide en "pantallas" que son todas del mismo tamaño. Algunas de las pantallas desplazan suavemente entre sí, creando la ilusión de campos de juego más amplios. Algunas de las pantallas impiden que la cámara se desplace hasta que el jugador haya alcanzado el borde de la pantalla, momento en el que se produce una transición y se muestra la siguiente pantalla. También es posible que una sola pantalla tenga más de una transición, por ejemplo, tiene una escalera que sube a una pantalla, pero también puede caminar hacia otra pantalla.
¿Cómo se pueden modelar estas transiciones de pantalla?
- La pantalla 0 es la pantalla de inicio, donde comienza el jugador.
- La pantalla 0-3 tiene un desplazamiento horizontal suave y aparece para el jugador como un campo de juego continuo.
- Como hay una transición entre la pantalla 3 y las pantallas vecinas 4 y 5, la cámara no avanzará más allá de los bordes derecho o superior de la pantalla 3 a menos que el jugador se mueva a ese borde respectivo y "empuje" a la siguiente pantalla.
Una vez que el jugador se mueve a cualquiera de los bordes de transición, la entrada del usuario se desactiva momentáneamente y la cámara pasa a la nueva área, después de lo cual se restaura la entrada del usuario.
La pantalla azul (Pantalla 5) ha deshabilitado el desplazamiento horizontal para que solo sean posibles las transiciones verticales.
- La pantalla verde (Pantalla 6) tiene una transición vertical de regreso a la Pantalla 5, pero también permite un desplazamiento horizontal suave hacia la Pantalla 7.
Editar : Implementar las transiciones en términos de habitaciones me lleva a esto:
Las pequeñas muescas con una flecha son las regiones en las que puede ocurrir una transición. Cada región tiene una "dirección" y se encuentra justo fuera del área visible de la habitación. Tan pronto como el jugador llegue a una región, se iniciará una transición.