1.- En primer lugar, para hacer únicamente un circulo inmóvil, debemos poner el siguiente código:
void setup() {
size(400, 400);
}
void draw() {
noStroke(); // Dibuja formas sin 'borde'
fill(255, 0, 0); // Haz que las figuras sean de color rojo
ellipse(100, 100, 30, 30); // Circulo de 30 pixels de diametro
}
(las letras verdes son aclaraciones de lo que significa cada palabra, pero no es necesario ponerlo)
2.-Después, para conseguir una línea gruesa móvil de un solo color, que se traza a medida que mueves el ratón debes poner este código:
void setup() {
size(400, 400);
}
void draw() {
noStroke();
fill(255, 0, 0);
ellipse(mouseX, mouseY, 30, 30); // Circulo de en funcion de las coordenadas del raton
}
(se reemplazan las coordenadas de la ellipse poniendo en su lugar mouseX y mouseY, lo que permite que la línea se dibuje en función del movimiento del ratón)
3.-En tercer lugar, para conseguir una línea gruesa móvil de varios colores (ej:rojo y negro), que se traza a medida que mueves el ratón, tienes que poner el código:
int
rojo = 255;
void
setup() {
size(400, 400);
}
void
draw() {
rojo = rojo - 1;
// Haz el rojo un poco mas obscuro
if
(rojo < 0){
rojo = 255;
// Cuando llegue al maximo de obscuridad, hazlo claro otra vez
}
noStroke();
fill(rojo, 0, 0);
ellipse(mouseX, mouseY, 30, 30);
}
int rojo = 255;
int tiempo = 0;
void setup() {
size(400, 400);
}
void draw() {
tiempo = tiempo + 1; // Incrementa el tiempo en una unidad
rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20))); // Cambia el rojo, repite el color cada 20s
noStroke();
fill(rojo, 0, 0);
ellipse(mouseX, mouseY, 30, 30);
}
Las variables respecto al tiempo (que es lo que nos interesa eneste apartado) se pueden cambiar.
5.- Por ultimo, para realizar una línea con diferentes grosores y colores que depende del tiempo y que se pinta por el movimiento del ratón, se introduce el siguiente código:
int rojo = 255;
int tiempo = 0;
int diametro = 50;
void setup() {
size(400, 400);
}
void draw() {
tiempo = tiempo + 1;
rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 5))); // Modifica el diametro del circulo con el paso del tiempo
noStroke();
fill(rojo, 0, 0, 50); // Añade un 50% de transparencia al color
ellipse(mouseX, mouseY, diametro, diametro);
}
Estos serían algunos de los ejemplos:
(Estas ¨serpientes¨ se les pueden modificar el color, siguiendo los pasos expuestos en el trabajo de las líneas coloreadas)
No hay comentarios:
Publicar un comentario