Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Colisão das raquetes com a borda

Queria saber como poderíamos evitar da raquete sair dos limites da borda.

Nós fizemos com a bolinha porém não há colisão da borda com a raquete, como poderia ser feito isso?

Caso a raquete chegue no limite, eu travo a raquete, ou seja, não consigo nem mais subir ou descer estando já no limite?

1 resposta
solução!

Olá Letícia, tudo bem?

Para resolvermos essa questão podemos criar duas funções que se responsabilizam por limitar a raquete, em resumo as funções verificam se caso a raquete se encontra em determinada posição ela pode ou não se movimentar, as funções ficam assim:

function podeSeMover(){
  return yRaquete > -15;
}

function podeSeMover2(){
  return yRaquete < 350;
}

OBS: Os valores -15 e 350 podem não ser o ideal para o seu jogo, então sinta-se à vontade para fazer as devidas alterações .

Por fim, devemos utilizar as funções criadas, para se tornarem condições para a movimentação ou não das raquetes, vamos fazer as alterações na função que é responsável por movimentar a raquete, nesse caso é a movimentaMinhaRaquete.

function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){    
    if(podeSeMover()){ // verifica se pode ou não movimentar as raquetes para cima.
      yRaquete -= 10;
    }  
}  
  if (keyIsDown(DOWN_ARROW)){
    if(podeSeMover2()){ // verifica se pode ou não movimentar a raquetes para a baixo.
      yRaquete += 10;
    }      
  }
}

A lógica é que as funções podeSeMover e podeSeMover2 tem um return que guarda um true ou false, ou seja, quando apertamos a tecla para cima, caso a raquete se encontre em uma posição que tem o y menor(<) que -15, a função retorna false e o if não é executado, sendo assim a raquete para de se movimentar para cima, a mesma lógica serve para a parte debaixo.

OBS: suas variáveis e funções, podem ser diferentes das usadas em meu exemplo, caso enfrente erros ou dificuldade na implementação peço que me envie o link do p5.js.

Espero que com essas dicas eu consiga lhe ajudar, mas caso surjam novas dúvidas, fique tranquila para expor, ficarei feliz em lhe ajudar!

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!