1
resposta

Ao fazer o código dos sons, recebo a mensagem de que os sons não estão definidos. "somColisao" is not defined in the current scope.

Ao adicionar os sons, chego no problema que diz:

"somColisao" is not defined in the current scope.

O mesmo acontece para os outros sons. Creio que o meu código está igual ao da aula, segue o link:

https://editor.p5js.org/Kvothe7String/sketches/oiN0rLBK5

Transcrição da pasta 'imagens e sons.js':

let somColisao; let somPontos; let somTrilha;

//preload é uma particularidade do p5js, é necessário aqui nesse site. function preload(){ imagemDaEstrada = loadImage("imagens/estrada.png"); imagemDoAtor = loadImage("imagens/ator-1.png"); imagemCarro = loadImage("imagens/carro-1.png"); imagemCarro2 = loadImage("imagens/carro-2.png"); imagemCarro3 = loadImage("imagens/carro-3.png"); imagemCarros = [imagemCarro,imagemCarro2,imagemCarro3,imagemCarro,imagemCarro2,imagemCarro3]

somColisao = loadSound("sons/colidiu.mp3"); somPontos = loadSound("sons/pontos.wav"); somTrilha = loadSound("sons/trilha.mp3"); }

1 resposta

Olá Magnolia, tudo bem?

O erro está ocorrendo por conta do arquivo que carrega imagens e sons, não está sendo chamado da forma correta, para contornar isso, vamos no index.html e alterar o nome do arquivo que está sendo chamado, observe o erro:

    </main>
    <script src="sketch.js"></script>
    <script src="imagens.js"></script> //o arquivo real se chama “ïmagens e sons.js”
    <script src="ator.js"></script>
    <script src="carro.js"></script>
    <script src="p5.collide2D.js"></script>
  </body>
</html>

Por conta disso o arquivo que é carregado as imagens e sons, nunca chega, pois o seu endereço está incorreto.

Seu código completo fica assim:


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

  </head>
  <body>
    <main>
    </main>
    <script src="sketch.js"></script>
    <script src="imagens e sons.js"></script> //o correto é deste modo
    <script src="ator.js"></script>
    <script src="carro.js"></script>
    <script src="p5.collide2D.js"></script>
  </body>
</html>

Depois dessa pequena alteração o seu jogo volta a funcionar normalmente.

Deixo abaixo a cópia do seu jogo

Espero ter ajudado, qualquer dúvida estarei à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

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