Estou construindo um corredor infinito 2D. No jogo, o personagem salta de um pilar para o outro e os pilares são gerados aleatoriamente. Eu tenho esse trabalho. Mas como determinar se o personagem falhou em pular para um pilar e caiu no espaço entre os pilares? Um pilar é de forma retangular comum.
12
Respostas:
Adicione uma região retangular na parte inferior do nível, abaixo da altura mínima permitida de uma plataforma. Se o jogador cruzou esta região, ele caiu de uma plataforma.
fonte
if (playerPos.x < minHeight)
?Se o seu jogo rola apenas na horizontal, você pode verificar se a posição vertical do personagem está abaixo da borda inferior do palco.
Se o seu jogo rolar verticalmente também (provavelmente para cima), você pode verificar se o jogador caiu abaixo da borda inferior da visualização (ou seja, a área do palco que está na tela ou no foco da câmera).
Em geral, a condição de morte é se o personagem não permanecer "na câmera". Ao controlar o movimento da sua câmera, você poderá ajustar sua jogabilidade. Por exemplo, se em um estágio de rolagem vertical, você apenas permite que a câmera faça um "elástico" um pouco para baixo, enquanto permite movimento total para cima, penalizando quedas profundas e fora da tela.
fonte
Como alternativa, para verificar a coordenada vertical , você pode apenas verificar a velocidade vertical. Se o personagem está caindo mais rápido do que algum limite, concluímos que eles estão mortos (mesmo se não é alguma plataforma baixa o suficiente para ainda alcançar, o impacto seria fatal).
Obviamente, isso só funciona se o seu jogo implementar corretamente a física básica de queda livre, ou seja, a velocidade descendente realmente aumenta durante a queda, como na realidade (até a velocidade terminal).
fonte
Se você tiver altura dos pilares, poderá encontrar o menor valor existente e compará-lo com a posição vertical do jogador. Se ele estiver abaixo do pilar mais baixo, não há chance de ele voltar. Você pode limitar essa verificação apenas aos pilares atrás e na frente do jogador.
Exemplo: Temos 3 pilares, com alturas [10, 20, 40]. O jogador pulou está no pilar com altura 40, ele salta para a frente para 20. Ele sentiu uma diferença entre 40 e 20, agora está na altura 15. Isso significa que ele se sentiu. Para uma verificação menos rigorosa, espere até ele ficar abaixo de 10.
fonte
Mantenha uma contagem de quanto tempo um personagem caiu. (ou seja, há quanto tempo eles estão se movendo "para baixo"). Depois de terem caído mais do que uma tela cheia de tempo, eles, por definição, caíram do palco, sim?
fonte