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

Os carros não aparecem no meu editor

Eu estava vendo a aula de laços de repetição e terminei o código, mas quando dou play não aparecem os carros, e não tem nada de errado com meu código. Eu compartilhei o link do projeto e em todos o jogo funciona normalmente. https://editor.p5js.org/Matzz/sketches/SWM50IGDS https://editor.p5js.org/Matzz/full/SWM50IGDS

Mas quando eu volto no meu editor não tem carro nenhum(segue a imagem abaixo), eu realmente não entendi.

2 respostas
solução!

Olá Matheus! Tudo certo? Espero que sim

Primeiramente gostaria de esclarecer que seus carros ainda estão lá, se mudar os seus eixos X para que se adeque a tela poderá vê-los. O empecilho para que eles atravessem a rua parece ser o movimento deles.

Bora dar uma olhada em seu código?

Analisando o seu código tenho algumas observações a fazer:


Movimento dos carros:

  • Na função de movimento, quando vamos utilizar as variáveis de imagens, ela não reconhece que há índices de onde será retirado os carros emimagemCarro.length. Para que os carros recuperem seu movimento só precisa adicionar um s no final de imagemCarro.
function voltaPosiçãoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;

    }
  }
}

Outras considerações:

  • Na função passouTodaATela o xCarros está declarado como XCarro, tentando utilizar uma variável inexistente e fazendo os carros não retornarem
function passouTodaATela(xCarros){
  return xCarros < - 50;
}
  • A função de voltar à posição usou imagemCarro invés de imagemCarros, assim usando informação de load do primeiro carro e não dos índices e evitando os carros de voltarem;
function voltaPosiçãoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;

    }
  }
}
  • Quanto as cores dos carros serem todas verdes, não sei se é proposital, mas se quiser mudar é só ir emimagem.js e mudar o para carro-1, carro2 ou carro-3 no load, assim como os arquivos que baixou e fez upload:
    imagemCarro = loadImage("imagens/carro-1.png")
  imagemCarro2 = loadImage("imagens/carro-1.png")
  imagemCarro3 = loadImage("imagens/carro-1.png")

Se tiver qualquer dúvida, saiba que estou à disposição, conte comigo!

Um bom dia e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.

obrigadinho :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software