Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
4
respostas

Não entendo porque o p5.js não pega meu código, tem algo errado?

let imagemDaEstrada;
let imagemDoAtor;
let imagemCarro;

function preload(){
  imagemDaEstrada = loadImage("imagens/estrada.png");
  imagemDoAtor = loadImage("imagens/ator-1.png");
  imagemCarro = loadImage("imagens/carro-1.png");
  } 

Na aula de jogos clássicos, aula2, parte 2 tem essa instrução de criar mais um arquivo .js dentro da pasta que estamos usando no explorador do p5.js, mas quando chego nessa parte eu não entendo porque não funciona, já fui ver no index se eu havia digitado algo errado, e no sketch também e não soube identificar ainda. No console aparece um erro:

 Uncaught SyntaxError: Unexpected token '}' (sketch: line 13)

E isso me deixou confuso porque eu tô sabendo que eu deveria fechar a função com chaves depois de concluir a instrução.

4 respostas

Olá Matheus! Manda o código inteiro!

Mas antes identifica se não tem um "ponto e vírgula antes"!

Se solucionar marca aqui como solucionado e avisa! :)

Valeu!

esse é o sketch.js:

//Do Carro
let xCarro = 600;


function setup() {
  createCanvas(600, 400);
}

function draw() {
  background(imagemDaEstrada);
  mostraAtor();
  mostraCarro();
  movimentaCarro();
  movimentaAtor();




  function mostraCarro(){    
  image(imagemCarro, xCarro, 35, 90, 50);
  }

  function movimentaCarro(){
    xCarro -= 2;
  }

  }

essa é o arquivo imagens.js:

let imagemDaEstrada;
let imagemDoAtor;
let imagemCarro;

function preload(){
  imagemDaEstrada = loadImage("imagens/estrada.png");
  imagemDoAtor = loadImage("imagens/ator-1.png");
  imagemCarro = loadImage("imagens/carro-1.png");

}

aqui é o arquivo ator.js:

let yAtor = 366;
let xAtor = 100;


function mostraAtor(){
    image(imagemDoAtor, xAtor, yAtor, 30, 30);
  }


function movimentaAtor(){
    if(keyIsDown(UP_ARROW)){
      yAtor -= 3;
    }
    if(keyIsDown(DOWN_ARROW)){
      yAtor += 3;
  }
}

e o index:

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8" />

  </head>
  <body>
    <script src="sketch.js"></script>
    <script src="imagens.js"></script>
    <scrpit src="ator.js"></script>
  </body>
</html>

cortei e fiz outra imagens.js e funcionou, mas agora é o ator.js que tá dando

Uncaught ReferenceError: mostraAtor is not defined (sketch: line 11)
solução!

ah, eu reparei agora o "scrpit" ali no index, foi por isso que ele não achou haha agora tá tudo ok

Show de bola!