Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não funciona o som do ponto

Quando eu as raquetes marcam o ponto, não sai o som. Por quê?

//variaveis da bolinha
let xBolinha=300;
let yBolinha=200;
let diametro=20;
let raio = diametro/2;

//velocidade da bolinha
let velocidadexBolinha=6;
let velocidadeyBolinha=6;

//variaveis da raquete
let xRaquete = 2;
let yRaquete = 150;
let comprimentoRaquete = 10;
let alturaRaquete = 90;

//variaveis do oponente
let xOponente = 585;
let yOponente = 150;
let velocidadeYOp;


let colidiu = false;

//placar do jogo
let meusPontos = 0;
let pontosOp = 0;

//sons
let raquetada;
let trilha;
let ponto;

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

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

function draw() {
  background(0);
  mostraBolinha ();
  movimentaBolinha();
  verificaColisaoBorda ();
  mostraRaquete (xRaquete,yRaquete);
  movimentoRaquete();
  //verificaColisaoRaquete ();
  colisaoMinhaRaqueteBiblioteca ();
  colisaoRaqueteOp ();
  mostraRaquete (xOponente,yOponente);
  movimentaRaqueteOp ();
  incluiPlacar ();
  marcaPonto ();
  verificaPassouMeio();
  }

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,comprimentoRaquete,alturaRaquete)
}

function movimentoRaquete(){
  if (keyIsDown(UP_ARROW)){ 
   yRaquete -=10; 
  } 
  if (keyIsDown(DOWN_ARROW)){ 
   yRaquete +=10;   
  } 
  yRaquete = constrain(yRaquete, 3, 310)
}

function verificaColisaoRaquete (){
  if ((xBolinha - raio < xRaquete + comprimentoRaquete) && (yBolinha - raio < yRaquete + alturaRaquete) && (yBolinha + raio > yRaquete)){
    velocidadexBolinha *= -1;
 }
}

function  colisaoMinhaRaqueteBiblioteca (){
  colidiu = 
   collideRectCircle(xRaquete, yRaquete, comprimentoRaquete, alturaRaquete,xBolinha, yBolinha,raio);
  if (colidiu){
  velocidadexBolinha *= -1;  
  raquetada.play();
  }
}

function  colisaoRaqueteOp (){
  colidiu = 
   collideRectCircle(xOponente, yOponente, comprimentoRaquete, alturaRaquete,xBolinha, yBolinha,raio);
  if (colidiu){
  velocidadexBolinha *= -1; 
  raquetada.play();
  }
}

function movimentaRaqueteOp (){
  velocidadeYOp = yBolinha  - yOponente - comprimentoRaquete / 2 -30
  yOponente += velocidadeYOp
  yOponente = constrain(yOponente, 3, 310);
}

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

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 (pontosOp, 470, 26)
}

function marcaPonto (){
  if (xBolinha > 590 && passouMeio){
    meusPontos +=1
    passouMeio = false;
  }
  if (xBolinha < 8 && passouMeio){
    pontosOp +=1;
    passouMeio = false;
  }
}

function verificaPassouMeio() {
  if (xBolinha > width/2- 50 && xBolinha < width/2 + 50) {
    passouMeio = true;
  }
}
1 resposta
solução!

Olá, Dev! Como vai?

Para resolver o seu problema, te aconselho a verificar se o arquivo de som "raquetada.mp3"está na mesma pasta do seu projeto. Certifique-se também de que os nomes dos arquivos estão escritos corretamente, incluindo a extensão do arquivo.

Caso, após essa verificação, o problema persista. Peço que mande aqui o link para o seu projeto completo para que eu possa fazer testes e entender melhor o seu problema.

Fico à disposição. Abraço!

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