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

Pong criado, mas com problemas

https://scratch.mit.edu/projects/572814061

Aqui está o meu pong, as vezes ele marca mais de um ponto e as vezes ele vai para trás da raquete e fica contando vários pontos ao mesmo tempo. Foi uma experiencia muito boa e divertida!

3 respostas
solução!

Olá Rodrigo, como vai?

Seu jogo ficou muito bacana, parabéns!! Esses bugs de pontuação no Scratch são bem comuns de acontecer, mas podemos fazer algumas alterações pra melhorar essas situações, vou te mostrar.

1 - Centralização dos atores

Um dos principais motivos pra ocorrer alguns bugs no Scratch é o posicionamento dos atores na área de desenho.

No Scratch quando vamos criar um ator é preciso que ele seja criado exatamente centralizado na tela de desenho e que o centro dos dois (ator e tela de desenho) estejam exatamente um no mesmo lugar que o outro. Esses bugs podem ocorrer caso os atores (bolinha e raquetes) sejam desenhados fora do centro.

Vá em Bolinha, depois em Fantasias, clique na sua bolinha e arraste ela para o centro da área de desenho até que os dois +, da bolinha e da área de desenho, se encontrem. Se o centro da área de desenho não estiver aparecendo você pode ir na lupa na parte inferior da área e diminuir o zoom até visualizar.

Indicação de centralização da bolinha na tela de desenho

Repita esse processo em todos os atores (bolinha e raquetes), eles passarão a ter como referência o centro da tela de desenho e você vai conseguir controlar melhor a posição com o x e o y e irá minimizar o problema que estava acontecendo.

2 - Ajustando o posicionamento das raquetes

Depois de centralizar você vai perceber que as raquetes foram pra direções totalmente estranhas, para corrigir isso vamos alterar os valores de x e y nos códigos das raquetes:

  • Raquete 1

Aqui vamos colocar x valendo -231 e y valendo 0, ficaria assim:

Código de posicionamento da raquete1 com x=-231 e y=0

  • Raquete 2

Aqui vamos passar os valores de x valendo 231 e y valendo 0. Na raquete 2 é importante alterar o valor de x nos dois blocos de código, ficaria assim:

Código de posicionamento da raquete2 com x=231 e y=0

Esses valores de -231 e 231 eu identifiquei arrastando as raquetes pra perto da borda até onde achei que ficaria uma posição legal, mas você pode personalizar se preferir, beleza? Só é importante deixar os valores de y em 0 para manter as raquetes centralizadas verticalmente.

3 - Ajustando a pontuação

Se você testar seu jogo agora depois das alterações que fizemos, você vai ver que a pontuação já está funcionando bem melhor e contando um ponto por vez. Mas ainda pode acontecer da bolinha passar por trás das raquetes e com isso contar vários pontos de uma só vez.

Para resolver isso podemos adicionar o controle espere 1 seg nos blocos de contagem de código, isso fará com que o jogo sempre espere 1 segundo antes de contar um novo ponto, resolvendo o bug. O código vai ficar assim:

Indicação do temporizador no bloco de código dos pontos

Pronto! Depois de fazer essas alterações a pontuação do seu jogo volta a funcionar conforme o esperado e ele fica ainda mais legal. Testa aí e depois me conta o que achou.

Espero ter ajudado e se tiver alguma dúvida conte com a gente aqui no fórum. =D

 

Caso esta resposta tenha resolvido sua dúvida, por favor, marque o tópico como solucionado ✓.Bons Estudos!

Nossa, depois dessas dicas o jogo ficou perfeito! Sem os bugs de pontuação e de posição dos "atores" a experiencia ficou muito melhor e o jogo mais divertido! Obrigado pela ajuda :D

Opaa que legal que deu certo, Rodrigo!

Fico feliz em ter ajudado e sempre que precisar pode contar com a gente aqui no fórum.

Bons estudos por aí =D