> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://studio.sketchpad.cc/sp/pad/view/ro.GLwBX05jiwp/rev.1086
 * 
 * authors: 
 *   jaruz

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



// This sketch builds on a prior work, "circulo gira en 10 pasos con cambio de color", created by jaruz & juanantonioruz
// http://studio.sketchpad.cc/sp/pad/view/ro.9wvc8VSiw3sz0/rev.147


// This sketch builds on a prior work, "circulo gira en 10 pasos", created by jaruz
// http://studio.sketchpad.cc/sp/pad/view/ro.9K0PXtoZcLce5/rev.717


// y ahora nos aprovechamos de la posibilidad de llamar a la función de forma repetida

int limiteSecuencia=50;    
int anchoCirculo=150;
void draw(){
        background(0);

    int pasoActualSecuencia= frameCount % limiteSecuencia;
    pintaCirculo(100, 100, anchoCirculo, limiteSecuencia, pasoActualSecuencia);
    
 // ahora podemos cambiar algunos comportamientos más relacionados con la secuencia   
 
    pintaCirculo(100, 185, 20, 10, frameCount % 10);
    int contador=frameCount+2;
    pintaCirculo(100, 205, 20, 10, contador % 10);
    int contador2=contador+1;
    pintaCirculo(100, 225, 20, 10, contador2 % 10);
    int contador3=contador2+1;
    pintaCirculo(100, 245, 20, 10, contador3 % 10);

    
}

void pintaCirculo(int x, int y, int ancho, int limiteSecuencia, int pasoActual){
    

    fill(100, map(pasoActual-(limiteSecuencia/2), -(limiteSecuencia/2), (limiteSecuencia/2)-1,150,200 ),255);
    if(pasoActual>((limiteSecuencia/2)-1)) 
     pasoActual=pasoActual-(limiteSecuencia);
     if(pasoActual<0) pasoActual=-1*pasoActual;

    float porcentaje=map(pasoActual, 0, (limiteSecuencia/2), 0, 100);
   // println(pasoActual+" = "+porcentaje);
    int anchoActual=ancho*porcentaje/100;    
    
    ellipse(x, y, anchoActual, ancho);
    
    }

void setup(){

frameRate(25);
smooth();
size(300, 300);
}