String lines[]; String list[]; Words words; int curLine = 0; int curWord = 0; int frame = 0; int bgColor = 255; int fColor = 0; void setup() { size(400,600,P3D); framerate(30); lines = loadStrings("Lipsum-veel.txt"); println(lines.length + " lines"); words = new Words(); //readLine(); } void draw() { fill(bgColor,150); rect(0,0,width,height); //if (frame++>10*framerate) frame=0; //if (frame%3==0) readWord(); words.draw(); } void keyPressed() { if (key==CODED) { switch (keyCode) { case 37: words.f--; break; case 39: words.f++; break; case 40: words.cstep-=.001; break; case 38: words.cstep+=.001; break; case 10: saveFrame(hour()+"-"+minute()+"-"+second()); break; default: println(keyCode); break; } return; } switch (key) { case ' ': words.reset(); curLine=0; break; case '-': words.f--; break; case '+': words.f++; break; default: //add key as new word to the blob char data[] = {key}; String aaa = new String(data); words.addWord(aaa); println(key); break; } } void mousePressed() { switch (mouseButton) { case RIGHT: bgColor = bgColor==0?255:0; fColor = fColor==0?255:0; break; case LEFT: //words.f++; break; } } void readLine() { if (++curLine>=lines.length) return; //curLine=0; list = split(lines[curLine]); for (int j=0; j=lines.length) return; list = split(lines[curLine]); if (++curWord>=list.length) { curWord=0; curLine++; return; } words.addWord(list[curWord]); }