I really liked the idea of the text making a word out of random letters in the air. I tried to make a similar thing, but the word is always the same 😀
When the program starts the letters float on the screen. As soon as the mouse is pressed, they make a word in the center of the screen. I made sure that the letters won’t get out of bounds.
Here is the code:
String word = "hello world"; letters[] l1; void setup() { size(640, 640); l1 = new letters[word.length()]; for (int i =0; i<word.length(); i++) { l1[i] = new letters(word.charAt(i), width/3 +i*25, height/2); } //String word = "Hello"; } void draw() { background(255); for (int i =0; i<word.length(); i++) { if (mousePressed) { l1[i].print(); l1[i].returnBack(); } else { l1[i].print(); } } } class letters { char symbol; float x; float y; char c; float randX, randY; float originx, originy; letters(char _c, float _x, float _y) { x = _x; y = _y; c = _c; originx = x; originy = y; randX = random(-3, 3); randY = random(-3, 3); } void print() { fill(0); textSize(36); textAlign(CENTER); text(c, x, y); x += randX; if (x>= width || x <=0) { randX = -randX; } y += randY; if (y>= height || y <=0) { randY = -randY; } } void returnBack(){ float deltaX = (originx - x)/3; float deltaY = (originy - y)/3; x += deltaX; y += deltaY; } }
And here is a video: