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

[Bug] quando vou criar a lista dos carros da erro

criei a lista de todas as coisas, x dos carros, velocidades dos carros e y dos carros, mas quando vou criar a lista representando os carros o p5 da erro e nao consigo identificar ele, vou deixar o link das imagens para melhor compreensao

https://uploaddeimagens.com.br/imagens/FrAUp90 (mostra a base do codigo, foque na linha caritos)

https://uploaddeimagens.com.br/imagens/D0dcV1w ( mostra o codigo sendo aplicado)

https://uploaddeimagens.com.br/imagens/CFh_sEc (mostra o erro que aparece quando aperto start no projeto)

3 respostas

Olá Gabriel, tudo bem?

Obrigado por disponibilizar as imagens do erro. Tanto a mensagem ReferenceError: cargreen is not defined e a mensagem TypeError: Cannot read properties of undefined são referentes a referências indefinidas para a variável cargreen ou seja, ela está sendo invocada em algum trecho do código, no entanto não foi declarada. Contudo, é necessário ter acesso ao seu código para que eu seja mais assertivo sobre como sanar esse erro e te indicar os locais de correção, sendo assim peço que compartilhe o seu projeto para que eu possa te auxiliar.

Para compartilhar o projeto no P5, siga os passos abaixo:

  • Com o p5 aberto e já logado, clique em File (arquivo)
  • Logo depois em Share(compartilhar)
  • Por fim, copie o terceiro link do "edit".
  • Cole o link na resposta do fórum

Deixo abaixo um gif que exemplifica o procedimento de compartilhamento do código:

O gif ou uma série de capturas que dá uma impressão de vídeo, mostra uma tela do navegador que estar aberta na ferramenta p5.js, o gif serve  exemplificar para o aluno Gabriel Como ele pode compartilhar o link, o fundo da tela está todo acinzentado escuro em poucos segundos mostra algumas linhas de códigos que não é interessante para o aluno o mouse se direciona fazendo os seguintes comandos dentro da plataforma, aba arquivo que fica no topo da tela do p5, e depois compartilhar e clicar na terceira e última opção, nesse tutorial são abertos pequenos pop-ups que auxiliar a legibilidade do aluno para realizar os comandos, por fim o gif apresenta colando o link no fórum da comunidade alura

Fico no aguardo e a disposição para auxiliá-lo.

Abraços!

https://editor.p5js.org/gvitorio864/sketches/r6hEp4eoc opa victor, ai esta o link do projeto, ja mexi nele de todos os jeitos mas nao achei o erro, caso possa me ajudar eu lhe agradeco

solução!

Olá Gabriel, tudo bem ?

Para solucionarmos seu o erro devemos inicializar as variáveis dos carros no arquivo image.js


var estrada;
var cargreen;
var caryellow;
var carRed;
var Carwhite;
var CarPurple;
var CarBlack;
var caritos;

Na função preload() que se encontra no mesmo arquivo, essa função serve para fazer uma "pré configuração" antes de iniciar o jogo, devemos inicializar a lista que representa os carros caritos, desse modo:

function preload () {
  ator=loadImage("imagens/ator-1.png")
  cargreen=loadImage("imagens/carro-1.png")
  estrada=loadImage("imagens/estrada.png")
  caryellow=loadImage("imagens/carro-3.png")
  carblack=loadImage("imagens/carro-2.png")
  carpurple=loadImage("imagens/carpurple.png")
  carwhite=loadImage("imagens/carwhite.png")
  carred=loadImage("imagens/carred.png")
  caritos = [cargreen, caryellow,carRed,Carwhite, CarPurple, CarBlack] // lista
}

As variáveis "cargreen" e "caryellow" e as variáveis dos outros carros são declaradas dentro do preload, porém, como ele estava declarando a lista de carros que usa essas variáveis, que são declaradas dentro do preload, essas variáveis dos carros só existiam por lá(dentro do preload), por isso o erro de referência indefinida.

Código do image.js completo:


var estrada;
var cargreen;
var caryellow;
var carRed;
var Carwhite;
var CarPurple;
var CarBlack;
var caritos;

function preload () {
  ator=loadImage("imagens/ator-1.png")
  cargreen=loadImage("imagens/carro-1.png")
  estrada=loadImage("imagens/estrada.png")
  caryellow=loadImage("imagens/carro-3.png")
  carblack=loadImage("imagens/carro-2.png")
  carpurple=loadImage("imagens/carpurple.png")
  carwhite=loadImage("imagens/carwhite.png")
  carred=loadImage("imagens/carred.png")
  caritos = [cargreen, caryellow,carRed,Carwhite, CarPurple, CarBlack]
}

var ycars = [45,100,155,215,267,325]
var vlxcars = [3,2.5,4,6.3,4.2,5]
var xcars = [550,620,700,640,650,610]

Ao fazermos essas alterações os erros são solucionados, e você pode seguir com o conteúdo da aula.

Caso surjam mais dúvidas, me coloco à disposição!

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