3
respostas

[Dúvida] Dúvida sobre o código yBolinha-raio<yRaquete+requeteAltura && yBolinha+raio>YRaquete

Não entendi a explicação referente a esse código

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Por que preciso colocar no código para que ele reconheça tanto a parte de cima como a parte de baixo?

Estou confusa, porque se o ponto 0 do eixo X e Y fica na parte de cima, por que preciso colocar yBolinha+raio>YRaquete?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O codigo yBolinha-raio<yRaquete+requeteAltura não deveria identificar a movimentação Y da bolinha no quadro inteiro?

3 respostas

Também estou com a mesma dúvida, porém tentei dar uma pensada em relação a isso e, pelo o que parece que entendi, se trata do plano cartesiano, onde se a raquete estiver abaixo do plano cartesiano a colisão acontecerá na parte de cima do plano y, ou seja, a parte positiva, enquanto quando a raquete estiver na parte de cima a colisão ocorre na parte de baixo do plano, ou seja, a parte negativa, fazendo com que você tenha que codar o sinal inverso pra entender que deve excluir aqueles parâmetros dentro do plano cartesiano. Tipo, se tocar na plano y negativo então multiplicar por -1(direção inversa). Acho que tem que ter essas duas verifica"cões pra funcionar. não sei se está certo esse meu pensamento mas aguardo a resposta disso também

Fiquei com duvidas nesse codigo também, por que yRaquete+requeteAltura e depois só o yRaquete se diminuir a altura da raquete... Entendo que a parte positiva da raquete seja na parte inferior, por isso mesmo imagino que teriamos que subtrair a altura tambem :(

Olá !!!

Realmente estas instruções fazer pirar a cabeça mesmo. Vou tentar ajudar, com o que eu percebi. Mas antes de tudo, esqueça qualquer valor negativo. No plano acima, na imagem em amarelo, vejam que se o valor for negativo no pano o elemento sairá do canvas. Sim, em contas para movimentos e afins, ok teremos negativos, mas no plano não. O próprio exemplo do canvas acima (imagem amarela) mostra a bolinha bem no canto com seu ponto x,y no ZERO do mapa e metade dela saindo do mapa. Se vc colocar o xRaquete num ponto máximo de um canvas de 400 de largura, verá que ele sai do mapa. isso porque o xRaquete fica a esquerda de seu corpo . Colocando o xraquete no ponto zero , ela fica encostada com a borda do canvas. Mas por outro lado se quiseres colocar xRaquete encostado na borda da outra extremidade do canvas, terá que somar a largura da raquete. Se o canvas for de 400 e a largura da raquete for 20, para encostar a raquete na borda, tera que colocar xRaquete com 380. O xRaquete vai ficar a 20 da borda. Depois vc soma xRaquete + largura e consegue encostar na borda do canvas(width).

Abram a cabeça, deixem a mente viajar, senão, não pega o pulo do gato!!!!kk Mais um pouco: Estou confusa, porque se o ponto 0 do eixo X e Y fica na parte de cima, por que preciso colocar yBolinha+raio>YRaquete?

As imagens abaixo, acredito que lhe ajudam a entender: colisao

Perceba que os pontos yBolinha e yRaquete estão em vermelho na imagem, no centro da bolinha e na borda da raquete. Se a bolinha continuar nesta rota, a metade dela que está em frente da raquete não fará nada, porque a colisão só acontece com o ponto y dos dois elementos. Por esta razão yBolinha soma com seu raio. Para que o y da bolinha se transfira para a borda e assim aconteça a colisão. Na imagem o yBolinha está no meio da bolinha, mas, depois de somar com o raio ele passa para a borda da bolinha, em verde. O yBolinha nesta possição, consegue colidir com a raquete. Por isso o *yBolinha + raio tem que ser maior que o yRaquete *

colisao

Mas atenção, se fosse na outra extremidade da raquete, teriamos que subtrair o raio da ybolinha . E também para a raquete o yRaquete somaria com sua altura, os dois elemntos teriam que transferir seus pontos y para o outro lado. Porque subtrair e somar???????

Vejam que, se caminha para baixo no mapa ele aumenta, e assim vc soma, se caminhares para cima ele diminui, sendo assim vc subtrai.

Aumenta e diminui? Sim, quanto mais pra baixo for, mais se distancia do zero. Quanto mais pra cima for, mais próximo do zero fica. Se andas pra frente soma, se andas pra trás, subtrai. é Isso se aplica para o xBolinha e xRaquete, invertendo o corte da bolinha para vertical e usando a lateral esquerda da raquete , é só usar mais um pouquinho de imaginação!!!!!!!!!!!!!!!!!!!!!!!!

Espero de verdade ter ajudado. Bons estudos.