A partir dos 6'47" da aula, o Guilherme estabelece os critérios para que sejam computados os pontos. Não entendi porque a bolinha não precisa tocar na parede para ser ponto. Porque 10 e 590 ao invés de 0 e 600? Obrigado.
A partir dos 6'47" da aula, o Guilherme estabelece os critérios para que sejam computados os pontos. Não entendi porque a bolinha não precisa tocar na parede para ser ponto. Porque 10 e 590 ao invés de 0 e 600? Obrigado.
Vamos ver se consigo lhe ajudar...
Na lógica utilizada por ele, a partir do momento em que a bolinha não bate na raquete o ponto será inevitável. Usando esse raciocínio, basta a borda da bolinha ultrapassar a raquete que inevitavelmente será ponto.
Agora, como essa é a visão dele, vc pode mudar e colocar como propôs em sua pergunta. Lembre-se apenas que precisamos sempre compensar o raio da bolinha, porque não fazendo ela irá "entrar" pela metade na borda da tela.
Excelente, Bruno! Muito obrigado.
Para mim, faz sentido o que você explicou. A partir do momento em que a bolinha ultrapassa o limite da raquete ("...não bate na raquete...") o ponto será inevitável. Eu não tinha pensado dessa forma (acho que, pela minha pergunta, deu para perceber, né!).
Mais uma vez, obrigado!
Tive o mesmo pensamento do Sergio.
Até tentei colocar a marcação de pontos para o toque na borda utilizando a lógica da função de verificação de toque na borda, mas daí desisti e coloquei bem parecido com o tutorial, só deixei o mais próximo possível da borda.
function marcarPonto(){
if (xBolinha + raio > width -1) {
meusPontos += 1;
}
if (xBolinha - raio < 1) {
pontosOponente +=1;
}
}
Blz, Bryan!
Penso que o esclarecimento do Bruno Tavares resolveu a nossa dúvida.
Obrigado e vamos em frente!
Olá!! Por que 10 e 590? Simplesmente porque os pontos x da minha raquete = 10 E o ponto x da raquete oponente = 590.
Quando o ponto x da bolinha é menor que o ponto x da minha raquete , acontece o ponto. Quando o ponto x da bolinha é maior que o ponto x da raquete do oponente, acontece o ponto. No lado da minha raquete, a mesma soma se com sua largura, porque o ponto x, fica a esquerda da raquete. Assim "transferimos" o ponto x da raquete para o seu outro lado, o lado em que a bolinha tem contado. No lado do oponente, não se soma com a largura, porque como eu disse antes, o ponto x da raquete fica a esquerda, então a face esquerda da raquete já esta exposta, diferente da minha raquete que está "colada na borda". Se fosse simplesmente a bolinha ultrapassar a raquete para fazer pontos, ninguém teria problemas com pontuação. Um exemplo bom, seria vc deixar de somar a largura da raquete com o x na minhaRaquete, quando aconteceria o ponto? ou quando iria tocar o som da raquetada na colisão? Sabendo que o x da raquete está do outro lado da raquete? A bolinha ultrapassaria a raquete, mas faria ponto? São coordenadas que se cruzam, e neste momento acontece a ação. Enfim, tudo se resume em onde est o "X" da questão! rss Mas a discussão é boa!! Bons estudos!!!