Salto de parede para plataformas 2D


14

Estive procurando uma maneira de implementar salto de parede no meu jogo de xna, mas não consigo encontrar nenhuma informação sobre isso, alguém poderia alguém por favor me ajudar?

Respostas:


21

Quando um jogador colidir com uma parede ao pular (ou, se quiser, cair), acenda uma bandeira pelos próximos 100 milissegundos ou mais, para que a tentativa de pular inicie com êxito um salto (ignorando qualquer verificação de contato com a superfície) com um quantidade razoável de velocidade no eixo X na direção afastada da parede. Lembre-se de desligar a bandeira mais cedo se um salto for realmente iniciado.


3
Eu acho que você precisa modificar a primeira frase: "Quando um jogador colide com uma parede (enquanto está pulando) ..." caso contrário, o jogador pode pular na parede por ficar parado no chão ao lado de uma parede, o que não seria esperado.
CiscoIPPhone

@ CiscoIPPhone: Sim, obrigado. Isso produziria uma estranha mudança de comportamento entre os 100 ms após a colisão e mais tarde.
caos

2

Eu honestamente teria feito uma verificação de ponto. Então:

if (falling AND left_key_pressed AND !point_free(x-1,y))
    doWallJump

Você pode alterar y para dizer y + sprite_width / 2 (ou - dependendo do seu sistema de coordenadas) para que ele verifique à esquerda do meio seu sprite em vez da parte superior (ou inferior). É assim N implementa verificações de parede para pular de parede (último parágrafo) .

Depois disso, você deve decidir o quão firme você quer que sua parede salte. Se a velocidade vertical do seu salto ultrapassar a horizontal antes que o jogador possa alcançar a mesma parede novamente, você não poderá subir na mesma parede e voltará gradualmente ao fundo (como nos jogos Mario com salto na parede) ) Se você permitir que a horizontal seja fraca o suficiente para o jogador voltar à parede, ele poderá progredir na parede (como no Meat Boy).

Outra abordagem não mencionada é a de Super Metroid. Nesse jogo, quando você estiver contra uma parede, se você sair dessa parede, será exibida uma animação muito curta "movendo-se da parede". Se você pular durante essa animação, fará um salto na parede. (Super Metroid também permite que um jogador suba uma parede usando saltos de parede, mas isso requer um pouco de habilidade (na verdade, tudo sobre pular paredes em Super Metroid requer muita habilidade ...).)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.