class Boton{ color colorNormal = color(#FFB846); color colorSobre = color(#A900D8); color colorPulsado = color(#008ED8); color colorAhora; color colorObjetivo; boolean sobre; boolean pulsado; float x; float y; float radio; Boton(float _x, float _y, float _radio){ x = _x; y = _y; radio = _radio; colorAhora = colorNormal; colorObjetivo = colorNormal; } void actualizate(){ if(dist(mouseX, mouseY, x, y) < radio){ sobre = true; if(mousePressed){ pulsado = true; colorObjetivo = colorPulsado; }else{ pulsado = false; colorObjetivo = colorSobre; } }else{ sobre = false; colorObjetivo = colorNormal; } // lerpColor es una funcion que nos devuelve un color entre // los dos colores pasados como argumento colorAhora = lerpColor(colorAhora, colorObjetivo, 0.1); } void dibujate(){ fill(colorAhora); stroke(0); ellipse(x, y, 2*radio, 2*radio); } }