//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