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

Dúvida no Ex. 1 da Aula 5 - Desafio Final

Olá, pessoal! Tudo certo?

Queria que alguem me explicasse oque acontece nesse IF, não consegui pegar a lógica dele... Obrigado!

tela.onclick = function(evento) {
    var x = evento.pageX - tela.offsetLeft;
    var y = evento.pageY - tela.offsetTop;
    if((x > alvoX - raio) && (x < alvoX + raio) && 
        (y > alvoY - raio) && (y < alvoY + raio)) {
            alert("acertou!");
    }
2 respostas
solução!

Olá Rafael!

esse if esta definindo um espaço de busca que o seu clique pode acontecer.

Por exemplo:

  • tela: 800X600
  • centro do alvo na posição: 200, 300
  • Raio: 15

então o seu alvo esta em uma região quadrada nos pontos - 185X285 ( alvoX - raio e alvoY - raio) - 185X315 ( alvoX - raio e alvoY + raio) - 215X285 ( alvoX + raio e alvoY - raio) - 215X315 ( alvoX + raio e alvoY + raio)

esse if verifica se você clicou dentro deste quadrado.

Depois de ler e reler o código eu entendi... Mas sua explicação ajudou tambem.

Obrigado, Gabriel!