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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 :)