terça-feira, 3 de outubro de 2017

MAMI, Exercício 10 - Botão com cantos arredondados

          
         Nesta atividade explicarei como se pode detectar cliques do mouse sobre um botão retangular com cantos arredondados.
         Para a composição do botão foi utilizado uma função rect() para gerar um retângulo e em suas extremidades foram postas elipses.

         Na área do retângulo ( ou dos retângulos caso queira por mais de um para compor seu botão)  é só checar se a posição do mouse (mouseX e mouseY) não ultrapassa os limites do tamanho do seu retângulo e se ultrapassar, chegar se foi pressionado com o mousePressed.

       Nas bordas circulares, o caso é diferente, temos que tratar as bordas como áreas de uma elipse, então, sabendo disso, identificamos o valor do mouse e do clique até os centros das elipses e buscamos saber se elas são iguais ou menores que o raio; sendo maior, logo o mouse e o clique estarão fora das elipses e se forem menores ou iguais estarão dentro das elipses. Porém para isso precisamos calcular a distância, então usamos o Teorema de Pitágoras ou o cálculo da área de um círculo. Como usei Pitágoras, apenas chequei para ambos os lados circulares a distancia fazendo o uso da hipotenusa e usando-a. Onde a hipotenusa= sqrt(catetoOP*catetoOP+catetoADJ*catetoADJ), e cada cateto era comparado ao Eixo de cada bora elíptica (assim : catetoOP=mouseX-ellipseX;
 catetoADJ=mouseY-ellipseY;) fazendo isso para ambos os lados que compõem seu botão circular.


Resultado:













Nenhum comentário:

Postar um comentário