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

[Dúvida] Uso de posição ao invés de velocidade

Tentei usar este código mas não funciona, e queria saber qual a diferença de multiplicar a posição (em x e y) do objeto por -1 e a sua velocidade(o jeito usado na videoaula).

let xBolinha=300;
let yBolinha=200;
let diamBolinha=15;
let raio=diamBolinha/2
let velocidadeXBolinha=6
let velocidadeYBolinha=6

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

function draw() {
  background(0);
  circle(xBolinha,yBolinha,diamBolinha);
  xBolinha += velocidadeXBolinha
  yBolinha += velocidadeYBolinha
  if (xBolinha +raio > width || xBolinha - raio <0){ 
    xBolinha *=-1;
  }
  if (yBolinha +raio > height || yBolinha - raio <0){
    yBolinha *=-1;
  }
}
2 respostas
solução!

Oi Beatriz, tudo bem?

Analisando o código que encaminhou, temos ao considerar o xBolinha=-1 e yBolinha=-1, não considera que a velocidade que deve ser alterada quando tocar na borda.

Assim, deveria ser: velocidadeXBolinha e velocidadeYBolinha.

Quanto sua dúvida no tópico:

"qual a diferença de multiplicar a posição (em x e y) do objeto por -1 e a sua velocidade(o jeito usado na videoaula)."

Entendo que seja porque trata-se da posição inicial, e por isso não é utilizado o que ocasionaria o bug. Se colocarmos que o objeto multiplica por -1 daria o inverso, ou seja, a posição x seria -300 e posição y -200, e por isso que utilizamos a velocidade, que acrescenta 6 em x e 6 em y para a velocidade.

Entendi ! Obrigada pela ajuda !