1
resposta

Som de Raquetada buga e fica tocando sem parar, código abaixo.

let xBola = 300;
let yBola = 200;
let diametro = 23;
let velocidadeXBola = 10;
let velocidadeYBola = 10;
let raio = diametro / 2;
//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let comprimentoRaquete = 10;
let alturaRaquete = 90;

let colidiu = false

//variaveis oponente
let xRaqueteOpo = 585;
let yRaqueteOpo = 150;
let velocidadeYOpo 

//placar do game
let meusPontos = 0;
let pontosOponente = 0;

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

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

function mostraBola () {
   circle(xBola, yBola, diametro);
}
function movimentoBola () {

  xBola += velocidadeXBola;
  yBola += velocidadeYBola;

}
function movimentoRaquete(){
 if (keyIsDown(UP_ARROW)){
   yRaquete -= 10;
 }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}
function colisaoBorda(){
   if (xBola + raio > width || xBola - raio < 0){
    velocidadeXBola *= -1
  }
  
  if (yBola + raio > height || yBola - raio < 0){
    velocidadeYBola *= -1
  }
}
function mostraRaquete(x,y){
  rect(x, y, comprimentoRaquete, alturaRaquete)
}
function movimentoRaqueteOpo(){
  velocidadeYOpo = yBola - yRaqueteOpo - comprimentoRaquete / 2 - 78
  yRaqueteOpo += velocidadeYOpo
}
function colisaoRaqueteGit(x,y){
  colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBola, yBola, raio);
  if(colidiu){
    velocidadeXBola *= -1}
  raquetada.play();
}
function colisaoRaqueteGitOpo(x,y){
  colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBola, yBola, raio);
  if(colidiu){
    velocidadeXBola *= -1}
  raquetada.play();
}
function incluiPlacar(){
  stroke(255);
  textAlign(CENTER);
  textSize(16);
  fill (color(0,0,128))
  rect(150,10,40,20);
  fill(255)
  text(meusPontos, 170, 26);
  fill (color(0,0,128))
  rect(450,10,40,20)
  fill(255)
  text(pontosOponente, 470, 26);
}
function marcaPontos(){
  if (xBola > 590){
    meusPontos += 1;
  }
  if (xBola < 12){
    pontosOponente += 1;
  }
}

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

function draw() {
  background(0);
  mostraBola();
  movimentoBola();
  colisaoBorda();
  mostraRaquete(xRaquete, yRaquete);
  movimentoRaquete();
  colisaoRaqueteGit(xRaquete, yRaquete);
  colisaoRaqueteGitOpo(xRaqueteOpo, yRaqueteOpo);
  mostraRaquete(xRaqueteOpo, yRaqueteOpo);
  movimentoRaqueteOpo();
  incluiPlacar();
  marcaPontos();
}
1 resposta

Oi, Yan

Corrija a posiçao da chave

function colisaoRaqueteGit(x,y){
  colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBola, yBola, raio);
  if(colidiu) {
    velocidadeXBola *= -1;
    raquetada.play(); 
  }
}
function colisaoRaqueteGitOpo(x,y){
  colidiu = collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBola, yBola, raio);
  if(colidiu) {
    velocidadeXBola *= -1;
    raquetada.play();
  }
}
  Caso este post tenha lhe ajudado, marque-o como solução . Bons Estudos!  🤓