//an edition of "Scattered Letters" (originaly made by Algirdas Rascius) by Lifo Fernandez// /** * Scattered Letters * by Algirdas Rascius. *
* Click to restart. */ PFont font; float currentSize; char[] AM = {'A', 'u', 'L', 'a', 'M', 'u', 'L','t', 'i', 'm', 'e', 'd', 'i', 'a'}; int am=0; void setup() { size(1024, 600); colorMode(HSB, TWO_PI, 1, 1, 1); initFont(); smooth(); initialize(); } void initFont() { char[] chars = {'A', 'u', 'l', 'a', 'M', 'u', 'l','t', 'i', 'm', 'e', 'd', 'i', 'a'}; font = createFont("MyFont", 200, true, chars); } void draw() { if (currentSize > 10) { if (!randomLetter(currentSize)) { currentSize = currentSize*0.95; } } } void initialize() { background(color(0, 0, 1)); currentSize = 300; } void mouseClicked() { link("http://aulamultimedia.com.ar/blog/"); } void keyPressed() { initialize(); } boolean randomLetter(float letterSize) { int intSize = (int)letterSize; PGraphics g = createGraphics(intSize, intSize, JAVA2D); g.beginDraw(); g.background(color(0, 0, 1, 0)); g.fill(color(0, 0, 0)); g.textAlign(CENTER, CENTER); g.translate(letterSize/2, letterSize/2); g.rotate(random(TWO_PI)); g.scale(letterSize/300); g.textFont(font); g.text((char)AM[am], 0, 0); am = am + 1; if (am==14){ am=0; } g.endDraw(); delay(250); PGraphics gMask = createGraphics(intSize, intSize, P2D); gMask.beginDraw(); gMask.background(color(0, 0, 1, 1)); gMask.image(g, 0, 0); gMask.filter(ERODE); gMask.filter(ERODE); gMask.endDraw(); for (int tries=50; tries>0; tries--) { int x = (int)random(width-intSize); int y = (int)random(height-intSize); boolean fits = true; for (int dx = 0; dx