A série Mega Man clássica do NES usa uma técnica de rolagem muito específica que estou tendo dificuldade em implementar. Essencialmente, o nível é dividido em "telas", todas do mesmo tamanho. Algumas das telas rolam suavemente , criando a ilusão de campos mais amplos de jogo. Algumas telas impedem a rolagem da câmera até que o player atinja a borda da tela, momento em que ocorre uma transição e a próxima tela é exibida. Também é possível que uma única tela tenha mais de uma transição, por exemplo, possui uma escada que sobe para uma tela, mas você também pode avançar para outra tela.
Como essas transições de tela podem ser modeladas?
- Tela 0 é a tela inicial, onde o player inicia.
- A tela 0-3 é rolada horizontalmente e aparece para o jogador como um campo contínuo de jogo.
- Como existe uma transição entre a Tela 3 e as telas 4 e 5 vizinhas, a câmera não avançará além das bordas direita ou superior da Tela 3, a menos que o player se mova para a borda respectiva e "avance" para a próxima tela.
Depois que o player se move para uma das extremidades da transição, a entrada do usuário é momentaneamente desabilitada e a câmera passa para a nova área, após a qual a entrada do usuário é restaurada.
A tela azul (Tela 5) desativou a rolagem horizontal, de modo que somente as transições verticais são possíveis.
- A tela verde (Tela 6) tem uma transição vertical de volta para a Tela 5, mas também permite a rolagem horizontal suave na Tela 7.
Edit : A implementação das transições em termos de salas me leva a isso:
Os pequenos entalhes com uma seta são as regiões nas quais uma transição pode ocorrer. Cada região tem um "sentido" e mentiras apenas fora da área visível da sala. Assim que o jogador atingir uma região, uma transição será iniciada.