Olá, pessoal! O som da minha trilha está rodando normal, mas os sons dos pontos e da raquetada estão em looping. Como resolver?
Olá, pessoal! O som da minha trilha está rodando normal, mas os sons dos pontos e da raquetada estão em looping. Como resolver?
Infelizmente ainda não é isso. Meu áudio e tela carregam normalmente, acontece que o som da raquetada e do ponto não são ativadas somente quando há a colisão ou marcação do ponto, eles simplesmente começam a tocar repetidamente quando dá o play no jogo.
o seu erro esta em não ter colocado os "{}" nos comandos do "if", segue meu código https://editor.p5js.org/Arkynne/sketches/JVzVLC3wX as "{}" servem para diferenciar blocos dentro de blocos, se nao for separadas podem causas esses tipos de erro. Estou recolando seu codico com as "{}", mas recomendo voce reeditar seus comando e adicionar as "{}" que faltam nos "if".
`//variáveis bola let tamanhoBola = 20 let xBola = 350 let yBola = 225 let raio = tamanhoBola /2
//variáveis velocidade bola let velXBola = 5 let velYBola = 2
//variáveis da raquete let xRaquete = 10 let yRaquete = 180 let comprimentoRaquete = 10 let alturaRaquete = 100 let colidiu = false
//variáveis da raquete 2 let xRaquete2= 680 let yRaquete2=180 let velocidadeYRaquete2;
//placar let meusPontos = 0 let pontosDele = 0
//sonsDoJogo let trilha; let raquetada; let ponto;
function preload(){; trilha = loadSound("trilha.mp3") ponto = loadSound("ponto.mp3"); raquetada = loadSound("raquetada.mp3");
}
function setup() { createCanvas(700, 450); trilha.loop();
}
function draw() { corFundo(); dimensoesBola(); velocidadeBola(); colisaoParede(); dadosRaquete(xRaquete,yRaquete); movimentacaoRaquete(); //verificarColisaoRaquete(); colidiuRaqueteBiblioteca(xRaquete,yRaquete); dadosRaquete(xRaquete2,yRaquete2); //movimentacaoRaquete2(); colidiuRaqueteBiblioteca(xRaquete2,yRaquete2); mostrarPontuacao(); marcarPonto(); } function corFundo(){ background(0); } function dimensoesBola(){ circle (xBola, yBola, tamanhoBola); } function velocidadeBola(){ xBola += velXBola; yBola += velYBola; } function colisaoParede(){ if (xBola + raio > width || xBola - raio < 0) velXBola *=-1; if (yBola + raio > height || yBola - raio < 0) velYBola *=-1;
}
function dadosRaquete(x,y){ rect (x, y, comprimentoRaquete, alturaRaquete)
} function movimentacaoRaquete(){ if (keyIsDown(DOWN_ARROW)) yRaquete +=10 if (keyIsDown(UP_ARROW)) yRaquete -=10
} function verificarColisaoRaquete(){ if (xBola - raio < xRaquete + comprimentoRaquete && yBola - raio < yRaquete + alturaRaquete && yBola + raio > yRaquete) velXBola *=-1
} function colidiuRaqueteBiblioteca (x,y){ colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBola, yBola, tamanhoBola); if (colidiu) {velXBola *=-1; raquetada.play();}
}
function movimentacaoRaquete2(){ velocidadeYRaquete2 = yBola - yRaquete2 - comprimentoRaquete / 2 - 30 ; yRaquete2 += velocidadeYRaquete2
} function mostrarPontuacao(){ textAlign(CENTER) stroke("#ffffff") fill("#a20000") rect(160, 10, 80, 60, 20) rect(460, 10, 80, 60, 20) textSize(60); fill(255); text(meusPontos, 200, 60); text(pontosDele, 500, 60);
} function marcarPonto(){ if (xBola < 10) {pontosDele +=1; ponto.play();} if (xBola > 690) {meusPontos +=1; ponto.play();}
}`
Nooossa! Sensacional!! Muito obrigado mesmo! Eu tinha postado anteriormente que eu não tinha entendido a real função dos "{}". Agora descobri da pior maneira para que serve kkkkk. Mas agora tive um exemplo prático do que pode ocorrer. Valeu!