Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Espera de 1 segundo

Olá.

Concluí o projeto do jogo de atravessar a rua com a vaca. Seguindo a dica postada pelo Rafael Menezes, melhorei a colisão com os veículos, o que ajudou bastante a evitar algumas falhas. Também criei uma pontuação máxima e um texto de fim de jogo pra não ficar infinito.

Porém, quero realizar uma melhoria e não descobri como fazer. Acontece que, pressionando a tecla para cima para chegar ao outro lado da estrada, ao marcar ponto, o ator já reinicia o caminho do inicio andando um pouco para frente, ocasionando uma colisão com o veículo da pista de baixo caso ele esteja passando naquele momento. Quando isso acontece, você perde o ponto que acabou de fazer, algumas vezes perdendo mais de um ponto por encostar várias vezes seguidas no veículo mencionado.

Minha ideia é colocar um tempo de espera de 1 segundo quando marcar ponto ou quando há uma colisão, para que o ator volte a posição inicial e espere 1 segundo para poder andar novamente. Tentei criar uma função com esse objetivo, porém sem sucesso.

Como faço para criar uma função desse tipo?

Segue o link do projeto: https://editor.p5js.org/casal.mi.will/sketches/RRJDOI4T9

Agradeço a atenção.

2 respostas
solução!

Oi, Willian, uma sugestão

//...

let movimenta = true;

//...

function movimentaAtor(){
  if (keyIsDown(UP_ARROW) && movimenta){
    yAtor -= 3;
  }
  if (keyIsDown(DOWN_ARROW) && movimenta){
    if (podeSeMover()){
    yAtor += 3;
    }
  }
}

//...

function voltaAtor() {
  movimenta = false;
  yAtor = 366  
  setTimeout(() => {movimenta = true}, 1000);
}

Olá Luis,

Deu certo o que você me ensinou. Muito obrigado.

Fiz testes e decidi que meio segundo de espera é suficiente para evitar o problema de perder pontos.

Também acrescentei uma função para marcar as "vidas" do ator e inclui a diminuição dessas vidas na função verificaColisao(). O jogo agora encerra tanto ao chegar em 10 pontos quanto ao colidir 3 vezes, assim o jogo fica mais desafiador.

Segue o link para quem interessar: https://editor.p5js.org/casal.mi.will/sketches/RRJDOI4T9

Agradeço sua colaboração.