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