DevRPG2k
estão participando dessa conversa. 0 membros e 1 visitante (1 bot) estão vendo.
Este tutorial ajudará você a entender facilmente como usar um único mapa com várias seções do mesmo tamanho para jogos como Zelda ou alguns jogos no estilo Metroidvania.
Para melhor explicação, usarei o mapa padrão do RM2K sem modificações, o que significa que a tela terá 320x240 pixels, então cada parte do mapa terá 20x15 tiles:

Após essa parte temos que identificar o centro exato da parte que o jogador começar. Se for na primeira aonde está o trono será em 9x7, se for na segunda parte à direita aonde tem azulejos de pedra será 29x7 e se for abaixo aonde temos os rios e grama será 9x22, então basta somar 20 para a lateral à cada parte do mapa e 15 para baixo.
E agora vamos para a parte que fixa a tela no jogador. Vou criar um evento de mapa em "Processo Paralelo" e usar uma "Switch" para acontecer apenas uma vez:
E agora vamos para a parte lógica em relação à posição da tela. Crie uma nova página também em "Processo Paralelo", mas que seja ativada pela Switch que foi ativada na página anterior.
Dentro desta página crie duas variaveis que verifiquem a posição do jogador na tela, isso funciona diferente de coordenadas:
Ou seja, se o jogador estiver fora da tela independente da posição dele no mapa o valor vai ser o mesmo que se tivesse iniciado em outro lugar.
O valor exato de quando o jogador está fora da tela são os seguintes:
-8 se for à esquerda da tela
328 se for à direita da tela
0 se for acima da tela
256 se for abaixo da tela
Considerando esses valores para cada posição possível do jogador fora da tela este seria um exemplo pratico pra entender o funcionamento:

Com isso então podemos criar uma condição para cada possibilidade acontecer, o problema é que eventos em "Processo Paralelo" ainda permitem que o jogador se mova, então ao invés disso colocaremos outra Switch:
Agora vamos criar uma terceira página ativada por essa nova Switch, mas ao invés de "Parallel Process" ela deverá está em "Autorun" que é o disparo automatico do evento, isso impedirá que o jogador se mova até a conclusão, no final dela desligue a Switch:
Dentro de cada condição moveremos a visão do mapa com o comando "Scroll Map" usando a opção "Shift Position", coloque na velocidade 6 para não tornar isso entediante para o jogador.
Mas primeiro vamos relembrar o conceito usado, se o jogador estiver fora do limite nas laterais ele terá que deslocar 20 tiles para a direção correspondente, se for acima ou abaixo apenas 15:
Com isso você já tem a base para a criação de um jogo ou mini-game que dependa de um único mapa.
Agora imagine que você precisa criar um mapa com paredes entre os cômodos. Nesse caso, os valores não precisam estar fora da tela. Vou dar um exemplo de um mapa com paredes:

Seguindo este exemplo, os valores da posição do jogador na tela serão os mesmos mostrados acima, deslocando-se apenas 16 pixels em relação ao exemplo anterior:
- Quando o ScreenY atingir 16, a transição será para cima
- Quando o ScreenY atingir 240, a transição será para baixo
- Quando o ScreenX atingir 8, a transição será para a esquerda
- Quando o ScreenX atingir 312, a transição será para a direita
Page 3:
Mas e se você quiser que o jogador possa ficar nas bordas da tela, contanto que seu rosto não esteja virado para a porta? Basta incluir uma verificação extra em cada condição na Page 2:
