não consigo identificar o por que não aparece "colidiu" no console, acredito q o meu p5.collide2d.js está errado
https://editor.p5js.org/douglasprogramador/sketches/94DwA3AQx
não consigo identificar o por que não aparece "colidiu" no console, acredito q o meu p5.collide2d.js está errado
https://editor.p5js.org/douglasprogramador/sketches/94DwA3AQx
Oi, Douglas! Tudo bem?
O problema está ocorrendo pois o método collideRectCircle
, responsável por verificar a colisão entre uma estrutura retangular e uma circular, deve receber como parâmetros respeitando a ordem: (o valor de x do retângulo, o valor de y do retângulo, comprimento do retângulo, altura do retângulo, o valor de x do circulo, o valor de y do circulo, diâmetro do circulo
), entretanto, em relação ao ator tomate, não estão sendo passadas as coordenadas de x e y como parâmetro da função, e sim um valor estático de dimensão.
Para solucionarmos o problema, então, basta trocarmos os comandos dimensõesTomate, dimensõesTomate
dentro do método collideRectCircle
, na função verificaColisão()
que pertence ao documento tomate.js
por xTomate, yTomate
, deixando a função da seguinte maneira e respeitando a definição e ordem dos parâmetros que devem ser passados:
function verificaColisão(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for (let i = 0; i < imagensVeiculos.length; i += 1){
colisão = collideRectCircle(xVeiculos[i], yVeiculos[i], comprimentoVeiculos, alturaVeiculos, xTomate, yTomate, 15)
if (colisão){
print("colidiu")
}
}
}
Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
putz verdade, tava ficando louca ja, não acahva o erro kkkk. obrigado Sarah