Olá gente,
fiz o Pong no Scratch, conforme indicado na aula, mas o programa ficou com um problema.
Muitas vezes, a bolinha bate na porda esquerda, mas os pontos do oponente não são computados no placar.
Como eu posso resolver isso?
Olá gente,
fiz o Pong no Scratch, conforme indicado na aula, mas o programa ficou com um problema.
Muitas vezes, a bolinha bate na porda esquerda, mas os pontos do oponente não são computados no placar.
Como eu posso resolver isso?
Olá Ana Luiza, como vai?
Seu jogo ficou super legal, parabéns pelo projeto! Esse bug que está ocorrendo é bem comum de acontecer no Scratch, vou te mostrar como resolver:
1 - Ajuste do formato da bolinha
Pra funcionar mais corretamente no jogo a bolinha precisa ser completamente redonda e a do seu projeto ficou um pouco oval, e isso pode impactar no funcionamento do seu jogo e estar ajudando a gerar esse bug. Pra resolver isso vamos precisar excluir a que está lá e criar uma nova seguindo os passos abaixo:
2 - Ajustando a centralização dos atores
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.
+
, 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.
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 não terá mais o problema que estava acontecendo.
3 - 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:
Aqui vamos colocar x
valendo -233
e y
valendo 0
, ficaria assim:
Aqui vamos passar os valores de x
valendo233
e y
valendo 0
. Na raquete 2 é importante alterar o valor de x
nos dois blocos de código, ficaria assim:
4 - Ajustando a pontuação
Depois de fazer essas alterações você vai perceber que seu jogo está contando vários pontos em disparado, isso aconteceu porque quando alteramos o posicionamento dos atores e formato da bolinha, precisamos ajustar também o sensor do contador de pontos. Aqui vamos fazer dois ajustes:
No contador de pontos vamos alterar os valores de x
para -229
para os pontos do oponente e o valor de x
para 229
para meus pontos. Esses valores eu identifiquei testando no seu jogo e funcionaram legal, mas você pode testar arrastando a bolinha para perto da borda e ir trocando os valores no código da maneira que achar que funciona melhor, beleza?
Outra alteração que vamos fazer aqui é que, mesmo com as modificações acima, a bolinha ainda pode passar por trás da raquete e com isso computar vários pontos de uma vez, para solucionar isso vamos inserir o controle espere 1 seg
nos blocos de contador de pontos, isso fará com que o jogo sempre espere um segundo antes de contar um novo ponto, solucionando o problema.
O código ficaria assim:
Pronto! Fazendo essas alterações vai resolver os bugs e seu jogo vai funcionar conforme o esperado ficando ainda mais legal. Testa aí e depois me conta se funcionou.
Espero ter ajudado e se tiver alguma dúvida conte com a gente aqui no fórum. Bons estudos! =D
Oi Jeniffer, tudo bem?
Muito obrigado, suas dicas ajudaram muito.
Mas ainda tá acontecendo um problema. Algumas vez a bolinha entra atrás das raquetes e fica pulando lá por um tempinho, mesmo sem marcar pontos.
Alguma ideia de como resolver isso?
Oi Ana!
Fico feliz demais que as dicas te ajudaram!
Essa situação da bolinha passar por trás da raquete tem a ver com a questão de proporção entre a bolinha e as raquetes e para solucioná-lo você pode fazer os ajustes abaixo:
Fazendo essas alterações você consegue corrigir esse problema. Não tem um tamanho ou posição padrão pois cada jogo é desenhado de uma maneira, então aqui é ideal que você vá fazendo alterações e testando para verificar o momento que funcionará melhor no seu projeto, beleza?
Qualquer dúvida é só chamar por aqui. Bons estudos! =D