Quando minha bolinha bate nas raquetes o valor da coordenada x da bolinha não coincide com o valor da coordenada x das raquetes e quando a bolinha chega na coordenada x < x declarado o ponto não está contando
Quando minha bolinha bate nas raquetes o valor da coordenada x da bolinha não coincide com o valor da coordenada x das raquetes e quando a bolinha chega na coordenada x < x declarado o ponto não está contando
Olá Nathan, como vai?
Sem ver o código do seu projeto não consigo saber com certeza o que está ocorrendo, mas acredito que essa divergência de posicionamento possa estar ocorrendo por conta do posicionamento dos atores na hora de desenhar.
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. Esse bug pode ocorrer caso os atores (bolinha e raquetes) sejam desenhados fora do centro, mas vou te mostrar como resolver.
+
, da bolinha e da área de desenho, se encontrem.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.
Depois de fazer a centralização dos atores você vai precisar reposicionar os valores de x
e y
da bolinha e das raquetes pra que eles possam se referenciar à nova posição.
Se você fizer essas alterações e ainda não funcionar como o esperado vou precisar que me mande aqui o link do seu projeto aqui pra gente conseguir ver o que está acontecendo. Para habilitar o compartilhamento do seu jogo é só, com seu projeto aberto, ir na barra superior do Scratch em Compartilhar e preencher os dados do seu projeto.
Depois disso é só clicar em Copiar o link e colar aqui na resposta do fórum pra gente conseguir te ajudar melhor, beleza?
Espero ter ajudado e se tiver mais alguma dúvida fique a vontade para mandar aqui no fórum. Bons estudos =)
Olá Jeniffer, eu fiz o que vc sugeriu e deu certo. Mas surgiram novos problemas. Por algum motivo eu coloquei q a raquete oponente deve ir para a coordenada x = 225 mas ela esta travada em 220 e qnd a minha bolinha está tocando na borda está sendo adicionado dois pontos ao placar a cada toque. Segue o link do projeto: https://scratch.mit.edu/projects/559271697
Olá Nathan, vamos precisar fazer algumas alterações pra resolver esses probleminhas, beleza?
1 - Ajuste no formato da bolinha
Pra funcionar mais corretamente no jogo a bolinha precisa ser completamente redonda e a do seu projeto ficou um pouco oval, por isso pode estar dando alguns erros. Pra resolver isso vamos precisar excluir a que está lá e criar uma nova seguindo os passos abaixo:
2 - Posicionamento da raquete do oponente
A raquete do oponente acabou ficando travada em 200
pois faltou alterar a posição no segundo bloco de código. Fazendo a alteração dos dois para 225
ela passa a ficar no local que você definiu, ficaria assim:
3 - Corrigindo a pontuação
Aqui vamos precisar alterar duas coisas para resolver a pontuação.
mude pontuação para 0
pra que toda vez que o jogo for reiniciado a contagem de pontos também seja. Vai ficar assim:
se
para verificar quando a bolinha chega na distância determinada, porém esse comando verifica sempre que a bolinha passa pelo espaço, por exemplo, sempre que a bolinha estiver em uma área que o x seja menor que -225
o jogo vai ficar computando pontos para o rival. Para solucionar isso precisamos trocar o controle para o espere até que
, desse jeito o jogo só vai computar pontos quando a bolinha chegar na área esperada. Ficaria assim:
Pronto, fazendo essas alterações seu jogo vai funcionar como o esperado e vai ficar ainda mais legal!
Testa aí e depois me conta se deu certo. =)
Eu fiz essas alterações, a reinicialização do placar deu certo, realmete e qnd a bolinha está certando a borda só está sendo adicionado um ponto. O problema é que as vezes, a bolinha passa direto pela raquete e tbm tem casos onde ela rela na borda e os ponto não são somados https://scratch.mit.edu/projects/559271697 O link do projeto reeditado
Que legal Nathan! Ficou muito bacana seu jogo com as alterações! Vamos resolver o que aconteceu agora.
1 - Melhorando a precisão da bolinha
As vezes acontece de o jogo não identificar alguns pontos, mas podemos reduzir a chance disso acontecer tirando o contorno da bolinha, isso fará com que a identificação de pontos fique mais precisa. Para isso vamos selecionar a bolinha, ir na aba Fantasias selecionar o ícone Contornar e a opção de remover contorno.
2 - Ajustando a identificação de pontos
Aqui vamos precisar ajustar 3 coisas pra melhorar o comportamento do jogo:
Primeiro precisamos separar os dois blocos de código de pontuação, você fez os dois juntos num mesmo bloco e isso pode causar uma dificuldade de identificação dos pontos pelo Scratch, por isso em alguns momentos a bolinha passava pela raquete mas não era contabilizado nenhum ponto.
Outro motivo pra contagem de pontos estar com alguns bugs é que o valor de x
pra identificar a pontuação está muito em cima da borda, podemos resolver isso alterando os valores para -221
e 221
. Esses valores você pode personalizar se quiser, é só testar arrastando a bolinha pra perto da borda e trocar nos códigos, beleza?
Com essas alterações você vai perceber que as vezes o jogo conta mais de um ponto, pra resolver isso vamos inserir o código de controle espere 1 seg
, isso vai fazer com que o jogo espere 1 segundo antes de contar um novo ponto, resolvendo o bug.
Depois de fazer essas três alterações o código ficará assim:
3 - Ajustando a defesa do oponente
Pra finalizar, percebi que o oponente nunca acerta a bolinha, isso faz com que a gente sempre ganhe. Para resolver isso precisamos alterar o valor da variável posição y da bolinha. Aqui eu coloquei o valor de 35
porque testei e achei que funcionou legal, mas você pode ir trocando os valores e testando pra ver qual você gosta mais, sendo que quanto maior o valor, menor a chance de o oponente acertar a bolinha. Ficou assim:
Pronto, fazendo esses ajustes vai resolver esses bugs que estavam aparecendo. Testa aí e qualquer coisa é só me falar.
=)
Fiz os ajustes que você sugeriu, Jennifer e funcionou perfeitamente!!! Mto obrigado pelo seu tempo e atenção!!!!