4 ejemplos de processing

De movimiento lineal. Al cambiar una variable para crear una línea en movimiento. Cuando la línea se desplaza fuera del borde de la ventana, la variable se pone a 0, lo que sitúa la parte posterior de línea en la parte inferior de la pantalla.

float a = 100;

void setup() { size(640, 200); stroke(255); }

void draw() { background(51); a = a - 0.5; if (a < 0) { a = height; } line(0, a, width, a); }

Secuencial de James Patterson. Visualización de una secuencia de imágenes crea la ilusión de movimiento. Doce imágenes se cargan y cada uno se muestra de forma individual en un bucle. int numFrames = 12; int frame = 0; PImage[] images = new PImage[numFrames]; // The number of frames in the animation

void setup() { size(200, 200); frameRate(30);

images[0] images[1] images[2] images[3]

= loadImage("PT_anim0000.gif"); = loadImage("PT_anim0001.gif"); = loadImage("PT_anim0002.gif"); = loadImage("PT_anim0003.gif");

= loadImage("PT_anim0005. } void draw() { stroke(255).gif").gif"). 4) + ". images[11] = loadImage("PT_anim0011. //for(int i=0. void draw() { frame = (frame+1) % numFrames. i<numFrames. = loadImage("PT_anim0009. Haga clic y arrastre el ratón para dibujar una línea.gif". if(mousePressed) { line(mouseX. 200).gif"). 50).gif"). = loadImage("PT_anim0008. } } . background(102). i++) { // // //} } String imageName = "PT_anim" + nf(i. image(images[frame]. which will // ensure that the number is (in this case) 4 digits. = loadImage("PT_anim0007. images[i] = loadImage(imageName).gif").gif"). = loadImage("PT_anim0006. images[10] = loadImage("PT_anim0010. mouseY. } // Use % to cycle through frames Líneas continuas. // If you don't want to load each image separately // and you know how many frames you have. void setup() { size(640. // The nf() command does number formatting.gif").gif"). 50. pmouseX. you // can create the filenames as the program runs.images[4] images[5] images[6] images[7] images[8] images[9] = loadImage("PT_anim0004. pmouseY).

0.width. sy . signal = my*img. } int sx = int(signal) % img. img. int sy = int(signal) / img. void setup() { size(200.width + mx. noFill(). // fast way to draw an image .5.Matriz de píxeles. int my = constrain(mouseY. Haga clic y arrastre el ratón hacia arriba y abajo para controlar la señal y mantenga pulsada una tecla para ver el píxel actual que se lee. background(c).width-1). 0. sy). 200).height-1). Este programa lee secuencialmente el color de cada píxel de una imagen y muestra este color para rellenar la ventana. } else { color c = img. sy). int direction = 1. point(sx.33*direction. if (keyPressed) { set(0. stroke(255). 10. 10). } if (mousePressed) { int mx = constrain(mouseX. } void draw() { if (signal > img. img = loadImage("ystone08. rect(sx . PImage img. 0.width*img. } else { signal += 0. img). frameRate(30).get(sx.5. img.jpg"). float signal.height-1 || signal < 0) { direction = direction * -1.width.

} } .

Sign up to vote on this title
UsefulNot useful