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

[Dúvida] Problema no para saber mais - Constrain

Estava fazendo lendo o "para saber mais", onde pede para usar a função constrain (https://cursos.alura.com.br/course/pong-javascript/task/131277), adicionei a linha yRaquete = constrain(yRaquete, 10, 310); porém quando executo o P5.js retorna erro

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Copiei exatamente como na aula, porém ocorre o erro. Segue meu código:

//movimento da raquete p1

function movimentaraquete (){
  if (keyIsDown(UP_ARROW)){
    yRaquete -=10;
  }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete +=10;
  }
}

yRaquete= constrain (yRaquete,10, 310);
1 resposta
solução!

Oi Bruno, tudo bem?

O erro que você está encontrando é devido à posição da sua linha de código yRaquete = constrain(yRaquete, 10, 310);. Essa linha deve estar dentro da função movimentaraquete(), pois você quer que a posição da raquete seja restrita toda vez que a função de movimento for chamada.

Seu código corrigido ficaria assim:

//movimento da raquete p1
function movimentaraquete (){
  if (keyIsDown(UP_ARROW)){
    yRaquete -=10;
  }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete +=10;
  }
  yRaquete = constrain(yRaquete, 10, 310);
}

Desta forma, a função constrain() irá limitar o valor de yRaquete entre 10 e 310 toda vez que a função movimentaraquete() for chamada, impedindo que a raquete saia da tela.

Espero ter ajudado.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software