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

Meu editor do p5js esta travando após eu ter criado a funçao "lista".

Após eu ter criado a função lista, conforme aprendi na aula o meu editor do p5js esta travando, quando clico para dar play no jogo a pagina para de responder.

Link para o meu código: https://editor.p5js.org/Rossetigu/sketches/1lAGUIC1_

Já verifiquei o código e aparentemente esta tudo certo, não aparenta ser um problema do código, pois o jogo fica carregando e no console do código não aparece nenhum erro, mas a pagina trava e fica sem ação, mesmo recarregando.

3 respostas

Link certo para o meu codigo, porem nem o mesmo abre e ja da erro. https://editor.p5js.org/Rossetigu/full/1lAGUIC1_

solução!

olá, Gustavo eu olhei o seu código, o problema esta na ultima instrução do for , que faz com que o loop seja encerrado. Caso a ultima condição esteja errada o loop não encerra, o que faz com que o navegador trave.

código com erro:

function mostraCarro(){
  for(let i = 0; i < imagemCarros.length; i = i++){
    image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
  }
}

function movimentaCarro(){
  for(let i = 0; i < imagemCarros.length; i = i++){
    xCarros[i] -= velocidadeCarros[i];
  }
}

function voltaPosicaoInicialDoCarro(){
  for(let i = 0; i < imagemCarros.length; i = i++){
    if(passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

código correto:

function mostraCarro(){
  for(let i = 0; i < imagemCarros.length;  i++){
    image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
  }
}

function movimentaCarro(){
  for(let i = 0; i < imagemCarros.length;  i++){
    xCarros[i] -= velocidadeCarros[i];
  }
}

function voltaPosicaoInicialDoCarro(){
  for(let i = 0; i < imagemCarros.length;  i++){
    if(passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

outra forma correta de escrever o mesmo código:

function mostraCarro(){
  for(let i = 0; i < imagemCarros.length;  i = i +=1){
    image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40)
  }
}

function movimentaCarro(){
  for(let i = 0; i < imagemCarros.length;  i = i +=1){
    xCarros[i] -= velocidadeCarros[i];
  }
}

function voltaPosicaoInicialDoCarro(){
  for(let i = 0; i < imagemCarros.length;  i = i +=1){
    if(passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

Muito Obrigado Carlos, me ajudou muito. Alterei e já deu certo. Estava considerando começar o curso do zero pra ver se eu conseguia sair desse enrosco. Obrigado mesmo.