Verifiquei meu código porém não estou entendendo por que a colisão so está ocorrendo no primeiro carrinho
https://editor.p5js.org/danielzhh/sketches/PFDStBsWN <<< meu código.
Verifiquei meu código porém não estou entendendo por que a colisão so está ocorrendo no primeiro carrinho
https://editor.p5js.org/danielzhh/sketches/PFDStBsWN <<< meu código.
Oi Daniel! Tudo bem por aí?
A colisão não está acontecendo nos outros carrinhos pois o for
que verifica todos os carros está fechado antes da condição if
. Isso faz com que esses dois trechos não se conectem.
O código correto fica assim:
function verificaColisao(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for(let i = 0; i < imagemCarros.length; i = i +1){
colisao = collideRectCircle(xCarros[i],yCarros[i],comprimentoCarro, alturaCarro, xAtor,yAtor,30);
if(colisao){
bateu();
}
}
}
Me conte se deu certo, Dani!
Forte abraço.
Descobri o Erro meu código estava com {} fechada antes do if(colisao)
function verificaColisao(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for(let i = 0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i],yCarros[i],comprimentoCarro, alturaCarro, xAtor,yAtor,15);
}
if(colisao){
bateu();
}
}
/**neste modo não estava funcionando
fechei os {} de outro modo para a function verificar todas as condições
deste jeito :
**/
function verificaColisao(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for(let i = 0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i],yCarros[i],comprimentoCarro, alturaCarro, xAtor,yAtor,15);
if(colisao){
bateu();
}
}
}
E PRONTO :)
funfou
Deu certo Larissa :)