Não ocorre colisão, não consigo achar o erro no código. https://editor.p5js.org/Luiz14es/sketches/o1x_8dE_j
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!
Não ocorre colisão, não consigo achar o erro no código. https://editor.p5js.org/Luiz14es/sketches/o1x_8dE_j
Oi Luiz, tudo bem com você?
Sinto muito que não está ocorrendo a colisão. Vamos resolver isso!
Analisando o código, é possível identificar o seguinte problema:
A função verificaColisao() não está atualizando o valor da variável colisao. Dentro do loop for que percorre os carros, a variávelxCasaoé atualizada, mas a variável colisao nunca recebe esse novo valor. Portanto, ela permanece sempre como false, mesmo que ocorra uma colisão.
Para corrigir o código, você deve atualizar o valor da variável colisao dentro da função verificaColisao():
function verificaColisao(){
for(let i = 0; i < imagemDoCarros.length ; i++){
xCasao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, 15)
if(xCasao){
colisao = true;
print("colidiu");
}
}
}
O código apresentado é escrito em JavaScript utilizando a biblioteca p5.js, que é uma biblioteca de JavaScript para facilitar a criação de arte e interação com gráficos e animações.
Analisando o código, é possível identificar o seguinte problema:
A função verificaColisao() não está atualizando o valor da variável colisao. Dentro do loop for que percorre os carros, a variável xCasao é atualizada, mas a variável colisao nunca recebe esse novo valor. Portanto, ela permanece sempre como false, mesmo que ocorra uma colisão. Para corrigir o código, você deve atualizar o valor da variável colisao dentro da função verificaColisao():
function verificaColisao(){
for(let i = 0; i < imagemDoCarros.length ; i++){
xCasao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, 15)
if(xCasao){
colisao = true;
print("colidiu");
}
}
}
Agora, quando ocorrer uma colisão entre o ator e um dos carros, a variável colisao será atualizada para true, e a mensagem "colidiu" será impressa no console.
Espero ter conseguido ajudar, qualquer dúvida estou à disposição.