Esse é meu codigo, porem quando fui por som deu ruim.. a trilha sonora fica tocando mas depois começa a travar, e travar o jogo todo junto. Já a raquetada e o ponto, não vão, assim que era pra tocar um dos dois acusa erro desconhecido e trava o jogo.
//variaveis sons do jogo
let raquetada;
let ponto;
let trilha
//Variaveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let velocidadeXBolinha = 7;
let velocidadeYBolinha = 8;
let raio = diametro / 2;
//Variaveis de pontos
let meusPontos = 0;
let pontosInimigos = 0;
//Variaveis minha raquete
let xRaquete = 5;
let yRaquete = 200;
let raqueteComprimento = 7;
let raqueteAltura = 90;
let colidiu = false;
//Variaveis raquete inimiga
let xRaquete2 = 585
let yRaquete2 = 200
let velocidadeYOponente;
//som
function preload() {
trilha = loadSound("trilha.mp3");
ponto = loadSound("ponto.mp3");
raquetada = loadSound("raquetada.mp3");
}
//FUNÇÃO PARA INVOCAR O CENARIO
function setup() {
createCanvas(600, 400);
trilha.loop();
}
//DRAW DESENHA COISAS NO CENARIO
function draw() {
background(0);
criandoBolinha();
movimentoBolinha();
colisaoBordas();
mostrarRaquete(xRaquete,yRaquete);
mostrarRaquete(xRaquete2,yRaquete2);
movimentoRaquete(); colisaoMinhaRaqueteBiblioteca(xRaquete,yRaquete);
colisaoMinhaRaqueteBiblioteca(xRaquete2,yRaquete2);
movimentaRaqueteOponente();
mostrarPonto();
preload();
addPontos();
}
//fUNÇÃO PARA CRIAR A BOLINHA
function criandoBolinha(){
circle(xBolinha, yBolinha, diametro)
}
//FUNÇÃO PARA MEXER A BOLINHA
function movimentoBolinha(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
//FUNÇÃO DE COLISAO NAS BORDAS
function colisaoBordas(){
if(xBolinha + raio > width || xBolinha - raio <0){
velocidadeXBolinha *= -1
}
if(yBolinha + raio > height || yBolinha - raio <0){
velocidadeYBolinha *= -1
}
}
//FUNÇÃO PARA DESENHAR A RAQUETE
function mostrarRaquete(x,y){
rect(x,y,raqueteComprimento,raqueteAltura)
}
//FUNCAO PARA MOVIMENTAR A RAQUETE
function movimentoRaquete(){
if( keyIsDown(UP_ARROW)){
yRaquete -= 10
}
if(keyIsDown(DOWN_ARROW)){
yRaquete += 10
}
}
//FUNÇÃO BAIXADA DA BIBLIOTECA DO GITCHUB PARA COLISAO DE OBJETOS 2D, NO CASO A BOLINHA NA MMINHA RAQUETE
function colisaoMinhaRaqueteBiblioteca(x,y) {
colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
if (colidiu) {
velocidadeXBolinha *= -1;
raquetada.play();
}
}
//FUNÇÃO PARA DAR AUTONOMIA A RAQUETE INIIMIGA
function movimentaRaqueteOponente() {
velocidadeYOponente = yBolinha - yRaquete2 - raqueteComprimento / 2 - 30;
yRaquete2 += velocidadeYOponente
}
function mostrarPonto(){
textSize(16);
stroke(0);
textAlign(CENTER);
fill(color(34,139,34));
rect(130,10,40,20);
fill(255);
text(meusPontos,150,26);
fill(color(120,0,0));
rect(430,10,40,20);
fill(255);
text(pontosInimigos,450,26);
}
function addPontos(){
if(xBolinha > 590){
meusPontos += 1
ponto.play();
}
if (xBolinha < 10){
pontosInimigos += 1
ponto.play();
}
}