1
resposta

som do ponto do openete bugado

quando coloco o som do ponto para tocar quando a bolinha é menor do que o valor do meu eixo X, o som buga e fica tocando sem parar. OBS : minha solução foi colocar o som para tocar quando a bolinha toca o limite da minha WIDTH, em "colisãoparede ".

let xbolinha = 150 let ybolinha = 200 let dbolinha = 13 let raio = dbolinha / 2 // let movimentoxbolinha = 6 let movimentoybolinha = 6 // let xraquete = 10 let yraquete = 150 let lraquete = 9 let araquete = 50 // let xraqueteo = 380 let yraqueteo = 150 let movimentoyro; // let pontos = 0 let pontoso = 0

//importação let colidiu = false

// sons let raquetada let ponto let trilha

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

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

function draw() { background(0); bolinha () movimentobolinha () colisaoparede () raquete (xraquete, yraquete) raquete (xraqueteo,yraqueteo) movimentoraquete () // movimentooponente() // colisaoraquete (xraquete,yraquete) nao conseguir fazer a colisao sem a importação // colisaoraquete (xraqueteo,yraqueteo) colisaoimportada (xraquete,yraquete) colisaoimportada (xraqueteo,yraqueteo) placar () addpontos ()

} function bolinha (){ circle ( xbolinha, ybolinha,dbolinha ) } function movimentobolinha (){ xbolinha += movimentoxbolinha ybolinha += movimentoybolinha }

function colisaoparede (){ if (xbolinha + raio > width || xbolinha - raio < 0){ movimentoxbolinha *= -1 ponto.play () } if(ybolinha + raio > height || ybolinha - raio < 0){ movimentoybolinha *= -1 } } function raquete (x,y){ rect ( x, y , lraquete, araquete) } function movimentoraquete (){ if (keyIsDown(UP_ARROW)){ yraquete -= 10} if (keyIsDown(DOWN_ARROW)){ yraquete += 10} } function colisaoraquete (x,y){ if (xbolinha - raio < x + lraquete && ybolinha - raio < y + araquete && ybolinha + raio > y ){ movimentoxbolinha *= -1 raquetada.play () } } function colisaoimportada (x,y){ colidiu = collideRectCircle(x,y,lraquete,araquete,xbolinha,ybolinha,dbolinha) if (colidiu) { { movimentoxbolinha *= -1 raquetada.play () } } } function movimentooponente(){ movimentoyro = ybolinha - yraqueteo - lraquete / 2 - 30 yraqueteo += movimentoyro}

function placar (){ stroke ( 255 ) textAlign(CENTER) textSize ( 16 ) fill (color(255,140,0)) rect ( 85 , 6, 30 , 20 ) fill ( 255) text ( pontos , 100, 20) fill (color( 255,140,0 )) rect ( 285, 6 , 30,20) fill ( 255 ) text ( pontoso , 300, 20)

}

function addpontos (){ if ( xbolinha + raio > 400 ) { pontos += 1 // ponto.play () } if ( xbolinha - raio < 0){ pontoso += 1} // ponto.play () }

1 resposta

Fala aí Rian, tudo bem? Consegue mandar o projeto? Ficaria mais fácil para eu visualizar/simular o problema, assim, consigo olhar com mais calma e detalhes por aqui.

Para compartilhar, pode me mandar o link do p5 web.

Fico no aguardo.