domingo, 12 de abril de 2015

Botão de flash no Porcessing

O objetivo desse exercício é criar um botão que obedeça aos 3 principais estados de um botão animado de flash: Up, Down e Over.
O desafio aqui é saber se o Mouse está ou não dentro da circunferência do botão para tornar a aplicação mais realista.


Para o Up a cor é verde, para o Down é vermelho e pata o Over é roxo. Segue o código:

int Larg;
int Alt;
float x;

//função para determinar a distancia entre dois pontos
float distancia2D(int X1,int Y1, int X2,int Y2){
  float resposta;
  resposta = sqrt((X1*X1) -(2*X1*X2) + (X2*X2) + (Y1*Y1) - (2*Y1*Y2) + (Y2*Y2));
    
  return resposta;
}
void setup(){
size(100,100);
Larg = width/2;
Alt = height/2;
background(255);

//para desenhar a moldura do nosso botão
fill(0);
ellipse(Larg,Alt,60,60);
}


void draw(){

 x=(distancia2D(Larg,Alt,mouseX,mouseY));
 //para o estado UP do botão temos
 if (x > 25) { 
    fill(0,200,0);
    ellipse(Larg,Alt,50,50);
}
else{
  
//para o estado DOWN do botão
   if(mousePressed == true){ 
    fill(255,0,0);
    ellipse(Larg,Alt,50,50);
}
else { 
        
//para o estado OVER do botão
      fill(200,0,250);
       ellipse(Larg,Alt,50,50);
        }           
     }
}

Nenhum comentário:

Postar um comentário