static Character and; String showText = "click to erase and then type away"; static final int [][] charTable = { //pathways of 3D isometric text, unicode indexed {0, 0, 2, 0, 2, 3, 0, 3, 0, 0}, // 0 {0, 1, 1, 0, 1, 3}, // 1 {0, 0, 2, 0, 2, 1, 0, 3, 2, 3}, // 2 {0, 0, 2, 0, 0, 1, 2, 3, 0, 3}, // 3 {2, 2, 0, 2, 1, 0, 1, 3}, // 4 {2, 0, 0, 0, 0, 1, 2, 2, 2, 3, 0, 3}, // 5 {2, 0, 0, 0, 0, 3, 2, 3, 2, 1, 0, 1}, // 6 {0, 0, 2, 0, 0, 3}, // 7 {0, 0, 2, 0, 0, 3, 2, 3, 0, 0}, // 8 {0, 3, 2, 3, 2, 0, 0, 0, 0, 2, 2, 2}, // 9 {2, 1, 0, 3, 2, 3, 2, 1}, // a (10) {0, 0, 0, 3, 2, 3, 2, 1, 0, 1}, // b (11) {2, 1, 0, 1, 0, 3, 2, 3}, // c (12) {2, 0, 2, 3, 0, 3, 0, 1, 2, 1}, // d (13) {0, 2, 2, 2, 2, 1, 0, 1, 0, 3, 2, 3}, // e (14) {0, 3, 0, 0, 2, 0, 0, 1, 2, 1}, // f (15) {2, 3, 0, 3, 0, 1, 2, 1, 2, 4, 0, 4}, // g (16) {0, 0, 0, 3, 1, 1, 2, 1, 2, 3}, // h (17) {1, 1, 1, 3}, // i (18) {1, 0, 1, 4, 0, 4}, // j (19) {0, 0, 0, 3, 2, 3, 0, 2, 2, 1}, // k (20) {1, 0, 1, 3}, // l (21) {0, 3, 0, 1, 1, 3, 2, 1, 2, 3}, // m (22) {0, 3, 0, 1, 2, 1, 2, 3}, // n (23) {0, 1, 2, 1, 2, 3, 0, 3, 0, 1}, // o (24) {0, 4, 0, 1, 2, 1, 2, 3, 0, 3}, // p (25) {2, 4, 2, 1, 0, 1, 0, 3, 2, 3}, // q (26) {0, 3, 0, 1, 2, 1}, // r (27) {2, 1, 0, 1, 0, 2, 2, 2, 2, 3, 0, 3}, // s (28) {1, 3, 1, 0, 0, 1, 2, 1}, // t (29) {0, 1, 0, 3, 2, 3, 2, 1}, // u (30) {0, 1, 1, 3, 2, 1}, // v (31) {0, 1, 0, 3, 1, 1, 2, 3, 2, 1}, // w (32) {0, 1, 2, 3, 0, 3, 2, 1}, // x (33) {0, 1, 0, 3, 2, 1, 2, 4, 0, 4}, // y (34) {0, 1, 2, 1, 0, 3, 2, 3} // z (35) }; QuadChar [] alphabet = new QuadChar[36]; void setup(){ size(800, 300, P3D); and = new Character('0'); quadTextSize(8); stroke(255); noFill(); } void draw(){ background(0); quadText(showText, mouseX, mouseY); } void keyPressed(){ showText += and.toString(key); } void mousePressed(){ showText = ""; }