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

ERRO NO SOM

Boa tarde, estou com um erro na execução, gostaria de ajuda:

https://editor.p5js.org/cassiamoreaes/sketches/bWnY-5sdg

6 respostas

Consegui solucionar

Oii Rita, tudo bem com você?

Que legal que você conseguiu solucionar! Parabéns pelo seu esforço e dedicação, continue assim!

Se surgir qualquer dúvida, estou a disposição.

Abraços e bons estudos!

Boa tarde, gostaria de ajuda no meu código a raquete do oponente está saindo da tela:

https://editor.p5js.org/cassiamoreaes/sketches/bWnY-5sdg

solução!

Oi Rita, tudo bem?

Analisando o projeto que você enviou, percebi que a raquete do oponente está saindo da tela de forma esperada. Se você ver o vídeo de conclusão do curso pode ver que a raquete do instrutor Gui, no minuto 1:34, sai a mesma quantidade da tela. Porém, se você deseja que a raquete não saia nem um pouquinho da tela pode realizar a seguinte alteração no seu código:

function movimentaRaqueteOponente() {
  velocidadeYOponente = yBolinha - (yRaqueteOponente + raqueteAltura / 2);
  
  if (yRaqueteOponente + velocidadeYOponente >= 0 && yRaqueteOponente + raqueteAltura + velocidadeYOponente <= height) {
    yRaqueteOponente += velocidadeYOponente;
  }
}

Essa alteração verifica se a nova posição da raquete do oponente (yRaqueteOponente + velocidadeYOponente) está dentro dos limites da tela. Se estiver, a posição vertical da raquete é atualizada. Com essa modificação, a raquete do oponente não deve mais sair da tela.

Se tiver mais dúvidas fique a vontade para perguntar.

Abraços e bons estudos!

Boa noite me surgiu uma duvida em relação a não conseguir pontuar contra a raquete do oponente:

segue ao lado meu codigo: https://editor.p5js.org/cassiamoreaes/sketches/bWnY-5sdg

Desde já agradeços os retornos!

Oi Rita, como vai?

O erro na pontuação ocorreu por conta da velocidade da bolinha. Como a velocidade dela está 3 a colisão acaba sendo detectada por mais tempo. Para corrigir isso é necessário aumentar a velocidade, de modo que seu código fique assim:

// velocidade da bolinha 
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

Para resolver o problema da pontuação contra a raquete do oponente, você também deve modificar o seu código, de modo que fique assim:

function movimentaRaqueteOponente(){
    if (keyIsDown(87)){
        yRaqueteOponente -= 10;
    }
    if (keyIsDown(83)){
        yRaqueteOponente += 10;
    }

}

Com isso, você consegue movimentar a raquete do oponente usando as teclas: "W" e "S" e também pontuar. Recomendo que assista a aula Multiplayer do curso, lá você entenderá melhor o porque dessa modificação no seu código.

Caso tenha mais dúvidas, estou aqui para te ajudar!

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