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

SEM SONS DE PONTOS E BOLINHA NA RAQUETE/ TRILHA REINICIA SEMPRE QUE BOLINHA TOCA NA RAQUETE

A trilha comeca ser tocada somente quando a bolinha toca na raquete. Nao existe som de bolinha na raquete, tao pouco pontos.

https://editor.p5js.org/thiago.abreu80/sketches/7YIs-6ukv

// parametros bolinha**
let xBolinha = 300;
let yBolinha = 225;
let diametro = 25;

//velocidade bolinha
let velocidadeXBolinha = 5;
let velocidadeYBolinha = 5;
let raio = diametro/2;

// parametros raquete**
let xRaquete = 5;
let yRaquete = 150;
let larguraRaquete = 10;
let comprimentoRaquete = 100;

// parametros raquete Oponente
let xRaqueteOponente = 585;
let yRaqueteOponente= 150
let velocidadeYOponente;

let colidiu = false;

//placar do jogo
let meuspontos= 0;
let pontosDoOponente = 0;

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

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



function setup() {
  createCanvas(600, 400);
}
function draw() {
  background(0);
  mostraBolinha();
  movimentaRaquete();
  movimentaBolinha();
  verificaColisaoRaquete();
  verificaColisaoRaqueteOponente();
  //colisaoMinhaRaqueteBiblioteca();
  mostraRaquete(xRaquete,yRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  incluirPlacar();
  meusPontos();
}
function mostraBolinha(){
circle (xBolinha, yBolinha,diametro);
}
function mostraRaquete(x,y){
rect(x, y, larguraRaquete,comprimentoRaquete )
}

function movimentaRaquete(){
  if ( keyIsDown(UP_ARROW)){yRaquete -= 10}
  if ( keyIsDown(DOWN_ARROW)){yRaquete +=10
}
}
function movimentaBolinha(){
  xBolinha += velocidadeXBolinha 
  yBolinha += velocidadeYBolinha

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

function verificaColisaoRaquete(){
  if ( xBolinha -raio < xRaquete+ larguraRaquete && yBolinha-raio < yRaquete + comprimentoRaquete && yBolinha +raio> yRaquete)
     { velocidadeXBolinha *=-1
            raquetada.play();}
}
function verificaColisaoRaqueteOponente(){
  if ( xBolinha +raio > xRaqueteOponente+ larguraRaquete && yBolinha-raio < yRaqueteOponente + comprimentoRaquete && yBolinha +raio> yRaqueteOponente)
     { velocidadeXBolinha *=-1
            raquetada.play();}
}
function colisaoMinhaRaqueteBiblioteca(){
  colidiu
  collidePointPoint(xRaquete, yRaquete,comprimentoRaquete, larguraRaquete, xBolinha, yBolinha, raio)
if( colidiu){
  velocidadeXBolinha *=-1
}
}
function mostraRaquete(x,y){
  rect (x,y,larguraRaquete,comprimentoRaquete);
}
function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha - yRaqueteOponente- comprimentoRaquete/2 -10;
  yRaqueteOponente += velocidadeYOponente
}
function incluirPlacar(){
  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 meusPontos(){
  if( xBolinha >587){
    meuspontos += 1
    ponto.play();
  }
  if( xBolinha < 15){
    pontosDoOponente +=1
        ponto.play();

  } 
}
3 respostas

Buenas!!

Faltou atribuir o trilha.mp3 para a variavel trilha, e voce atribui trilha.mp3 para as variaveis do som do ponto e da raquetada. e faltou tb incluir o som da trilha em loop na funçao setup. Teria que ficar mais ou menos assim:

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

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

abs!

solução!

Olá, Thiago! Tudo bem?

O problema está nas duas funções preload() e setup(), confira o código abaixo:

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

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

Faltou inserir o valor na variável trilha, atribuir os valores corretos (a música correta) às variáveis ponto e raquetada. Por fim, você precisa configurar a função setup() para que a trilha fique emloop.

Bons estudos!

Obrigado pela ajuda, ;0