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

[Dúvida] a bolinha não bate na borda

o meu jogo ja esta pronto mas quando a bolinha vem bater no meu lado do jogo ela não bate e não volta fica indo para cima e para baixo sem parar

assim esta o código do meu jogo:

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

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

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

link do jogo:

https://editor.p5js.org/vhcurydearaujo/sketches/lDoLDkln9

6 respostas

Código solucionado:

function verificaColisaoBorda() {
  if (xBolinha + raio > width || xBolinha - raio < 0) {
    velocidadeXBolinha *= -1
  }
  else if (yBolinha + raio > height || yBolinha - raio < 0) {
    velocidadeYBolinha *= -1
  }
}

Agora a bolinha não fica presa mas ela não está tocando a borda eu copiei e colei o seu código

link do jogo:

https://editor.p5js.org/vhcurydearaujo/sketches/lDoLDkln9

Na real você copiou errado, pois está diferente o código, acabei de reecolocar esse mesmo código que eu enviei e funcionou. Apague de novo o código da função verificaColisaoBorda e cola de novo esse código:

function verificaColisaoBorda() {
  if (xBolinha + raio > width || xBolinha - raio < 0) {
    velocidadeXBolinha *= -1
  }
  else if (yBolinha + raio > height || yBolinha - raio < 0) {
    velocidadeYBolinha *= -1
  }
}

Você esqueceu de somar o raio. Depois conte-me se funcionou.

oi, copiei este código exatamente igual e mesmo assim não deu certo

https://editor.p5js.org/vhcurydearaujo/sketches/lDoLDkln9

solução!

Acabei de testar seu código, e vi que está funcionando certinho.

oi, muito obrigado pela ajuda, agora funcionou certinho.