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

[Dúvida] trilha.loop deu erro.

Boa tarde! fiz tudo certinho, aparentemente, mas quando cheguei no trilha.loop () travou TypeError: Cannot read properties of undefined (reading 'loop') at setup (/sketch.js:41:10)

at _setup (https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js:60991:25)

at _runIfPreloadsAreDone (https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js:60942:27)

at p5._decrementPreload (https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js:60953:25)

at p5.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/addons/p5.sound.min.js:2:98292)

Não entendi nada :'( O que foi que eu errei? Parece estar tudo certinho.

//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro/ 2;

//velocidade da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6; let raqueteComprimento = 10; let raqueteAltura = 90;

//variáveis da raquete let xRaquete = 5; let yRaquete = 150;

//variáreis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeOponente;

let colidiu = false;

//placar do jogo let meusPontos = 0 let pontosDoOponente = 0

//sons do jogo let raquetada; let ponto; let trilha;

function preloud(){ trilha = loudSound("trilha.mp3"); ponto = loudSound("ponto.mp3"); raquetada = loudSound("raquetada.mp3") }

function setup() { createCanvas(600, 400); trilha.loop(); }

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete, yRaquete); movimentaMinhaRaquete(); //verificaColisaoRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente); incluiPlacar(); marcaPonto(); }

function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); }

function movimentaBolinha(){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha; }

function verificaColisaoBorda(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio > height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }

function mostraRaquete(x , y){ rect(x, y, raqueteComprimento, raqueteAltura); }

function movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }

function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; raquetada.play(); } }

function verificaColisaoRaquete(x, y){ colidiu = collideRectCircle(x, y, raqueteComprimento,raqueteAltura,xBolinha,yBolinha,raio); if (colidiu){ velocidadeXBolinha *= -1; raquetada.play(); } }

function movimentaRaqueteOponente(){ if (keyIsDown(87)){ yRaquete -= 10; } if (keyIsDown(83)){ yRaquete += 10; } }

function incluiPlacar(){ stroke(255); textAlign(CENTER); textSize(16); fill(color(255, 140, 0)); rect(150, 10, 40, 20); fill(255); text(meusPontos, 170, 26); fill(color(255, 140, 0)); rect(450, 10, 40, 20); fill(255); text(pontosDoOponente, 470, 26); }

function marcaPonto(){ if (xBolinha > 590){ meusPontos += 1; ponto.play(); } if (xBolinha < 10){ pontosDoOponente += 1; ponto.play(); } }

3 respostas
solução!

olá Elircineia!!

raparei ali acima que digitaste "preoloud" e " loudSound" isso está errado. Abaixo está a maneira correta:

function preload(){ trilha = loadSound("trilha.mp3"); ponto = loadSound("ponto.mp3"); raquetada = loadSound("raquetada.mp3") }

Veja se isso resolve!!!? bons estudos!

Obrigada! Nem tinha percebido que estava escrevendo "loud" rsrs Mas deu outro erro... EncodingError: falha ao executar 'decodeAudioData' em 'BaseAudioContext': não é possível decodificar dados de áudio at (função anônima) (Erro: falha ao executar 'decodeAudioData' em 'BaseAudioContext': não é possível decodificar dados de áudio)

E eu baixei os audios das aulas. 

Faça upload novamente, mas um arquivo por vez. Confira se vc extraiu os arquivos antes de fazer upload.