1
resposta

Bolinha voltando antes de tocar na raquete ou na borda

Pessoal boa noite!

a bolinha esta voltando no eixo X antes de tocar na borda ou na raquete, alguem sabe o que pode ser?

//variaves da bolinha let xBolinha =300; let yBolinha =200; let dBolinha = 20;

//velocidade da bolinha let velocidadexBolinha = 2; let velocidadeyBolinha = 2; let raio = dBolinha /2;

// variaveis da raquete let xRaquete = 5 let yRaquete = 150 let raqueteLargura = 10 let raqueteAltura =90

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

function draw() { background(0); teste(); dança(); verific(); raquete (); movimento_da_raquete(); verificaColisaoRaquete(); }

function teste() { circle (xBolinha,yBolinha,dBolinha)}

function dança () { xBolinha += velocidadexBolinha //ybolinha += velocidadeybolinha } function verific () { if (xBolinha + raio> width || xBolinha - raio <0) {velocidadexBolinha *= -1;}

if (yBolinha +raio > height || yBolinha -raio <0){velocidadeyBolinha *=-1} } function raquete () { rect (xRaquete,yRaquete,raqueteLargura,raqueteAltura) }

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

if (keyIsDown(DOWN_ARROW)) {yRaquete +=10 } } function verificaColisaoRaquete() { if (xBolinha - raio < xRaquete + raqueteAltura && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete) { velocidadexBolinha *= -1; } }

1 resposta

Oi, Bruno! Tudo bem?

Você esqueceu de passar a raqueteComprimento, ou no seu caso, a raqueteLargura. Então a bolinha entrava na condição antes de chegar na raquete e por isso voltava, tente com o código abaixo:

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

Observei que seu código apresenta uma nomenclatura diferente e padrões diferentes. Dessa forma, sugiro que você utilize o padrão camel case para nomear variáveis em JavaScript, pois é considerada uma boa prática. Confira o artigo para conhecer mais: Convenções de nomenclatura: Camel, Pascal, Kebab e Snake case

Uma sugestão é que você assista o alura+ Como turbinar seus estudos utilizando o forum e tire suas dúvidas

Continue estudando e compartilhe suas dúvidas quando surgirem.

Um abraço e bons estudos!