// xmas 2005 greeting, created and ideated by Christian Giordano // code support by Karsten Schmidt (aka Toxi) Vector flakes_vect; Vector flakeMasks_vect; int nFlakes_int; String FLAKE_STR = "adefghikU"; //PFont FLAKE_FONT = loadFont("BITTERSW.TTF"); // Monotype Sorts Vector labels_vect; int BREAK_TIME; int _nextTime; int _textIndex; PImage label_clean_img; PImage label_img; Label _currentLabel; color BGCOLOR = color(153,0,0,10); color FLAKECOLOR = color(91,0,0); Vector anim_vect; int[] breaks_arr = {5000,10000,7000,10000,10000}; int break_id = 0; int npixels; void setup(){ size(600,400,P3D); background(BGCOLOR); npixels = width * height; String $folder = "128"; anim_vect = new Vector(); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_0.png"),radians(45))); //anim_vect.add(new AnimFlake(loadImage("64/flake_1.png"),radians(60))); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_2.png"),radians(60))); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_3.png"),radians(45))); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_4.png"),radians(90))); //anim_vect.add(new AnimFlake(loadImage("64/flake_5.png"),radians(90))); //anim_vect.add(new AnimFlake(loadImage("64/flake_6.png"),radians(90))); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_7.png"),radians(45))); anim_vect.add(new AnimFlake(loadImage($folder+"/flake_8.png"),radians(45))); nFlakes_int = 50; flakes_vect = new Vector(); for(int i=0; i=_nextTime){ break_id++; if(break_id>=breaks_arr.length){ break_id = 0; _textIndex=-1; } _nextTime = millis() + breaks_arr[break_id]; if(break_id>0){ _textIndex++; //if(_textIndex>=labels_vect.size()) _textIndex=0; _currentLabel = (Label) labels_vect.get(_textIndex); _currentLabel.init(); } } if(break_id>0){ // T E X T System.arraycopy(label_clean_img.pixels, 0, label_img.pixels, 0,npixels); //label_img.loadPixels(); _currentLabel.drawMe(label_img.pixels); //label_img.updatePixels(); image(label_img,0,0); } } void keyReleased() { if( key=='f' ) saveFrame("xmas_####.tif"); //if (key=='q') { System.exit(0); } }