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

[Dúvida] Como eu faço para impor um certo limite para que meu objeto não ultrapassasse a borda inferior? (Sou iniciante).

function limiteRaquete(){
  if(yRaquete > height || yRaquete < 0){
    yRaquete = 0
  }
1 resposta
solução!

Opa Pedro, tudo certo?

Sua lógica está no caminho certo! Podemos fazer algumas alterações para que o código funcione como desejado, como queremos que a raquete não ultrapasse tanto a borda de baixo quanto a de cima, a condição caso ela chegue no limite de baixo e de cima serão diferentes.

Nesse caso, para limitar o movimento da raquete do jogador podemos adicionar as seguintes linhas de código na nossa função de movimento:

  if (yRaquete + raqueteAltura > height) {
    yRaquete = height - raqueteAltura
  }
  if (yRaquete < 0) {
    yRaquete = 0
  }

Assim, toda vez que a raquete ultrapassa um pouquinho as bordas superior e inferior, o código automaticamente reposiciona a raquete dentro dos limites, e consequentemente a raquete não sai da tela em momento nenhum. Sendo que:

  • yRaquete + raqueteAltura > height - vai considerar não somente a posição y da raquete como também a sua altura, considerando assim, a ponta da raquete;
  • yRaquete = height - raqueteAltura - posiciona a raquete verticalmente na tela com base na altura da tela e da raquete;

Caso surja alguma dúvida, fico à disposição.

Tenha um bom dia e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓