Não entendi o motivo de termos que usar o tamanho dos quadrados nas comparações dos If's, pode me explicar?
Não entendi o motivo de termos que usar o tamanho dos quadrados nas comparações dos If's, pode me explicar?
Oi Pedro, tudo bem?
As comparações com o tamanho dos quadrados nos condicionais servem para verificar se o clique do mouse ocorreu dentro da área ocupada pelos quadrados coloridos na paleta de cores.
Vamos analisar a função selecionaCor
:.
function selecionaCor(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
// cada condição muda a variável `corAtual`
// começamos pela condição do y que é igual em todos os casos
if (y > yQuadrados && y < yQuadrados + tamanhoQuadrados) {
if (x > xVermelho && x < xVermelho + tamanhoQuadrados) {
corAtual = 'red';
} else if (x > xVerde && x < xVerde + tamanhoQuadrados) {
corAtual = 'green';
} else if (x > xAzul && x < xAzul + tamanhoQuadrados) {
corAtual = 'blue';
}
}
}
A condição if (y > yQuadrados && y < yQuadrados + tamanhoQuadrados)
verifica se o clique ocorreu verticalmente dentro da faixa de altura ocupada pelos quadrados de cores. Se essa condição for verdadeira, significa que o clique está dentro da área vertical da paleta de cores.
Em seguida, as condições dentro desse bloco (por exemplo, if (x > xVermelho && x < xVermelho + tamanhoQuadrados)
) verificam se o clique também ocorreu dentro da faixa horizontal ocupada pelo quadrado de cor específico. Isso garante que o clique está dentro da área total do quadrado de cor na paleta.
Portanto, as comparações com o tamanho dos quadrados são usadas para delimitar a área específica de cada quadrado na paleta de cores, garantindo que a seleção da cor ocorra apenas quando o clique estiver dentro da área correspondente ao quadrado desejado.
Espero ter esclarecido às dúvidas.
Caso surja alguma pergunta, é só compartilhar no fórum.
Abraços e bons estudos!