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.
fonte
Respostas:
Parece que o que você precisa é o conceito de quartos, em vez de telas . As telas 1 a 3 seriam uma sala, por exemplo, suas salas poderiam ter qualquer tamanho e forma, ou mesmo restringir-se ao tamanho de múltiplos de uma tela .
Sua câmera seguiria o reprodutor por uma determinada sala, até que ele se aproximasse demais da borda (metade da largura da tela). Quando o jogador se move através da borda e entra em outra sala, você executa a visualização de transição.
Cada sala teria um conjunto de pontos de acesso, que são mapeados para pontos de acesso de outra sala - criando os pontos de transição.
fonte
O conceito de grandes áreas de rolagem suave sendo compostas por pedaços do tamanho de tela é um artefato de severas limitações de recursos em consoles clássicos, onde os ganhos de desempenho podem ser obtidos mantendo os dados em pedaços de tamanhos específicos (como uma página de memória). Há muito poucas razões para usar esse sistema em um jogo moderno.
fonte