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

comando de colisão com a raquete retirou a colisão com uma das bordas

Após inserir o código de colisão com a raquete, além de não colidir com a raquete, a bolinha não colide mais com a borda esquerda, ela passa direto e não retorna.

// variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 30; let raio = diametro / 2;

// variáveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10 let raqueteAltura = 90

// velocidades da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6;

function setup() { createCanvas(600, 400); }

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificandoColisaoBorda(); mostraRaquete(); movimentaMinhaRaquete(); verificaColisaoRaquete()

}

function mostraBolinha(){circle(xBolinha, yBolinha, diametro);}

function movimentaBolinha(){ xBolinha += velocidadeXBolinha; //yBolinha += velocidadeYBolinha; }

function verificandoColisaoBorda(){ if (xBolinha + raio > width || xBolinha - raio < 0){velocidadeXBolinha *= -1;}

if (yBolinha + raio > height || yBolinha - raio < 0){velocidadeYBolinha *= -1;} }

function mostraRaquete(){ rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura)}

function movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){yRaquete -= 10;}

if (keyIsDown(DOWN_ARROW)){yRaquete += 10;}}

function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento){ velocidadeXBolinha *= - 1; } }

2 respostas
solução!

Oi oi, Ighor! Como você está?

Por acompanhar seu progresso aqui na plataforma, acredito que você conseguiu resolver o problema. No entanto vou deixar o registro aqui caso algum aluno tenha a mesma dificuldade:

function verificaColisaoRaquete(){ 
  if (xBolinha - raio < xRaquete + raqueteComprimento
     && yBolinha - raio < yRaquete + raqueteAltura
     && yBolinha + raio > yRaquete){
    velocidadeXBolinha *= - 1;
  }
}

Só faltou apenas inserir as outras duas condições para excluir o fragmento do eixo que engloba a raquete.

Um abraço!

Bons estudos!

Obg pela resposta Camila, eu já tinha resolvido sim, mas tinha esquecido de finalizar o tópico.

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