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

[Bug] loop dando erro e perca ainda em negativo

https://editor.p5js.org/yohana12/sketches/orqbIj6f9

codigo para dar uma olhada.

ReferenceError: loadSound is not defined at /imagens.js:22:1 TypeError: Cannot read properties of undefined (reading 'loop') at /sketch.js:3:15

erros que estão dando.

3 respostas
solução!

Bom dia Yohana,

sobre o problema do loadSound, é que vc colocou fora da função preload(), vc precisa colocá-las dentro dessa função, de forma que os sons sejam carregados na memória antes de qualquer outra coisa.

Dessa forma:

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]

  somDaTrilha = loadSound("sons/trilha.mp3")
somDaColisao = loadSound("sons/colidiu.mp3")
somDoPonto = loadSound("sons/pontos.wav")
}

Outro problema que encontrei é que vc chamou a função voltaAtorParaPosicaoInicial() dentro do laço principal draw(), dessa forma você não vai conseguir mover o ator, pois o código sempre ficará colocando ele na posição inicial, remova essa linha do seu draw().

Sobre a pontuação negativa, vc precisa implementar uma lógica, pode ser uma condicional, toda vez que os pontos forem menor que 0, atribuir 0.

Pode fazer dessa forma:

if (colisao){
     voltaAtorParaPosicaoInicial()
     somDaColisao.play()
     if(pontosMaiorQueZero){
     meusPontos -= 1
       if(meusPontos < 0)
         meusPontos = 0;
     }
   }