17° Atividade - Aula 19: Olho
- Antonio Lucas
- 4 de jun. de 2019
- 1 min de leitura
Para essa atividade, precisamos criar um olho (círculo preto pequeno no interior de
círculo branco grande) que se encontra sempre voltado para o cursor do mouse.
Para isso vamos reaproveitar alguns códigos passados junto com a função atan2(). Essa função recebe como parâmetros a posição em x e y e retorna o ângulo em relação a origem, vamos utiliza-la para saber o ângulo onde o olho deve estar.
Primeiro desenhamos um circulo maior no centro da tela, com diâmetro de 400 pixels, já para a pupila, é aí que vem a lógica. Defini o diâmetro do circulo da pupila para 150 pixel. Com esse valor já podemos fazer a lógica.

Primeiro, usando a função dist(), podemos saber a distância do mouse para o centro do olho e, levando em conta o diâmetro dos círculos, sabemos que se a distância entre o mouse e o centro for de até 125, criamos a pupila na posição do mouse. Caso a distância seja maior, precisamos utilizar um código diferente, aí que entra o atan2().
Com ele temos o ângulo e como o limite do raio para criar a pupila é 125pixel, podemos reaproveitar o código da atividade anterior para criar a pupila usando coordenadas polares, já que temos um raio e o ângulo.

Com esses dois estados prontos, precisamos apenas fazer um if else para que caso a distância seja menos que 125pixels, vai executar o primeiro código, mas caso seja maior, via utilizar a segunda função.
Como resultado, temos o gif ao lado, mas ainda podemos melhorar ele.

Esse é o resultado final.
Link para o drive.
Link para o código no github.
Comments