Solucionado (ver solução)
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!