1
resposta

Não toca na borda

Coloquei o nome das variáveis diferente, fora isso está tudo igual. Mas não toca na borda ao final dessa aula. Se tirar o raio da condicional, a bolinha entra até o meio na tela como na aula, mas quando coloca o raio, ela não toca na parede, fica longe. Segue o código, algum erro?

let xBall = 300; //posição let yBall = 200;

let dBall = 22; //tamanho let rBall = dBall/2;

let xSpeedBall = 5; //velocidade let ySpeedBall = 3;

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

function draw() { background(0); circle(xBall,yBall,dBall); xBall += xSpeedBall; yBall += ySpeedBall;

//reconhecimento de bordas if (xBall + dBall > width || xBall - dBall < 0) { xSpeedBall *= -1; } if (yBall + dBall > height || yBall - dBall < 0) { ySpeedBall *= -1; } }

1 resposta

Olá, na parte de reconhecimento das bordas você o diâmetro da bolinha ao invés do raio.

Está assim:

//reconhecimento de bordas
if (xBall + dBall > width || xBall - dBall < 0) { xSpeedBall *= -1; }
if (yBall + dBall > height || yBall - dBall < 0) { ySpeedBall *= -1; } 

Deveria estar assim:

//reconhecimento de bordas 
if (xBall + rBall > width || xBall - rBall < 0) { xSpeedBall *= -1; } 
if (yBall + rBall > height || yBall - rBall < 0) { ySpeedBall *= -1; }