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

Está colidindo sem tocar nos carros tipo se o carro entra na mesma posição do x do ator da colisao

abaixo o link do código quem puder me ajudar?

https://editor.p5js.org/bazan30056/sketches/tgXBhwgxH

Att.

Felipe Bazan

2 respostas
solução!

Opa, dei uma olhadinha no seu código e fiz duas alterações.

Vou tentar fazer por partes pra que você possa ver onde foi e qual o motivo.

Seu código:

function houveColisao(){
for ( let i =0; i < imagensCarros.length; i++){

  colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro[i], alturaCarro[i], xAtor, yAtor, 15)}

  if (colisao) {

    colidiu()


    }

      }

1ª mudança:

  function houveColisao(){
for ( let i =0; i < imagensCarros.length; i++){

  colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro[i], alturaCarro[i], xAtor, yAtor, 15)

  if (colisao) {

    colidiu()


    }

      }
  }

Repara que aqui, eu fechei com o " } " no lugar correto. Apaguei o que estava logo depois do 15) e coloquei na ultima linha da função. (do jeito que estava, a verificação do if(colisao) ficava fora do for).

2ª Mudança:

function houveColisao(){
  for ( let i = 0; i < imagensCarros.length; i++){ 
    colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)  
      if (colisao){
         colidiu();      
    }     
  }
}

na segunda mudança eu apaguei os índices "[i]" que tinham nas variáveis de comprimento e altura, pois elas não são listas.

Pode substituir pelo código da segunda mudança que eu acredito que vá funcionar.

Bom dia

Lucas foi isso mesmo resolveu meu problema certinho

a 2° mudança resolveu o problema que estava tendo de quando chegava na posição x ja dava como colisão

e a 1] mudança que vc postou afirmava a colisao em todos os carros

obrigado

Att.

Felipe Bazan