Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Tamanho

Não entendi o motivo de termos que usar o tamanho dos quadrados nas comparações dos If's, pode me explicar?

1 resposta
solução!

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!