top of page

Atividade 10

  • Foto do escritor: Marcos André
    Marcos André
  • 24 de abr. de 2016
  • 1 min de leitura

'Diferenciar, com base em exemplos, como se pode detectar o clique do mouse sobre botões circulares e retangulares'

A tarefa se torna fácil devido à função já feita em sala(distancia2D),que, para a esfera, será utilizada para saber se a distância entre o centro da esfera e as cordenadas do mouse são menores que o raio da mesma.Foi preciso apenas adicionar a variável interna booleana mousePressed ao código para detectar se o mouse está pressionado nos botões.Para o retângulo, se faz necessário apenas algumas comparações para saber se o mouseX e mouseY estão dentro dos limites x e y determinados pelo botão retângular.

Obs:Devido ao input lag do filtro BLUR, para a esfera funcionar o botão precisa ser pressionado por mais tempo.

Segue o código:

int distancia2D(int x1, int y1, int x2, int y2) { return int(sqrt(pow(x1 - x2,2) + pow(y1 - y2,2))); }

void setup(){ size(600,600); frameRate(60);

}

void draw(){

background(100,252,211);

if (( distancia2D(120,120,mouseX,mouseY) <= 100 )&&(mousePressed == true)) { fill(int(random(1,255)),int(random(1,255)),int(random(1,255)),int(random(1,255))); ellipse(120,120,200,200); filter(BLUR,5); } else { fill(225,222,200); ellipse(120,120,200,200); }

if ((mouseX >= 290 && mouseX <= 290+280 && mouseY >= 50 && mouseY <= 50+150) && (mousePressed == true)) { fill(0); rect(290,50,280,150,20); filter(THRESHOLD); } else { stroke(255); fill(225,222,230); rect(290,50,280,150,20); }

if ((mouseX >= 290 && mouseX <= 290+280 && mouseY >= 250 && mouseY <= 250+150) && (mousePressed == true)) { fill(30,30,15); rect(290,50,280,150,20); filter(INVERT); } else { stroke(255); fill(225,222,230); rect(290,250,280,150,80); }


 
 
 

Comments


Sobre mim!

Meu nome é Marcos André, sou aluno de Ciência da Computação na Faculdade Farias Brito e Sistemas e Mídias digitais na UFC.Esse blog,será utilizado para postagem e divulgação de trabalhos realizados em ambos os cursos.

Outros Posts

© 2023 by BI World. Proudly created with Wix.com

bottom of page