Skip to content

Instantly share code, notes, and snippets.

@esukei
Last active November 24, 2015 15:56
Show Gist options
  • Save esukei/74c2c9301c0cf5394a37 to your computer and use it in GitHub Desktop.
Save esukei/74c2c9301c0cf5394a37 to your computer and use it in GitHub Desktop.
sketch-2015-11-10
// declaration
int lastTime;
int previousTime;
int delta;
float bgHue;
float bgSaturation;
float bgBrightness;
float keyValue;
IntDict keyX = new IntDict();
IntDict keyY = new IntDict();
int keyXLength;
int keyYLength;
float width = 800;
float height = 400;
float rectX;
float rectY;
float rectXOffset;
float rectYOffset;
float rectXOffsetC;
float rectYOffsetC;
void setup() {
size(800, 400);
//size(width, height);
colorMode(HSB, 360, 100, 100);
noStroke();
//background(0, 0, 0);
background(0, 50, 0);
lastTime = millis();
keyX.set("1", 0);
keyX.set("q", 1);
keyX.set("a", 2);
keyX.set("2", 3);
keyX.set("z", 4);
keyX.set("w", 5);
keyX.set("s", 6);
keyX.set("3", 7);
keyX.set("x", 8);
keyX.set("e", 9);
keyX.set("d", 10);
keyX.set("4", 11);
keyX.set("c", 12);
keyX.set("r", 13);
keyX.set("f", 14);
keyX.set("5", 15);
keyX.set("v", 16);
keyX.set("t", 17);
keyX.set("g", 18);
keyX.set("6", 19);
keyX.set("b", 20);
keyX.set("y", 21);
keyX.set("h", 22);
keyX.set("7", 23);
keyX.set("n", 24);
keyX.set("u", 25);
keyX.set("j", 26);
keyX.set("8", 27);
keyX.set("m", 28);
keyX.set("i", 29);
keyX.set("k", 30);
keyX.set("9", 31);
keyX.set(",", 32);
keyX.set("o", 33);
keyX.set("l", 34);
keyX.set("0", 35);
keyX.set(".", 36);
keyX.set("p", 37);
keyX.set(";", 38);
keyX.set("-", 39);
keyX.set("/", 40);
keyX.set("[", 41);
keyX.set("'", 42);
keyX.set("=", 43);
keyX.set("]", 44);
keyXLength = 45;// set length above
keyY.set("1", 0);
keyY.set("2", 0);
keyY.set("3", 0);
keyY.set("4", 0);
keyY.set("5", 0);
keyY.set("6", 0);
keyY.set("7", 0);
keyY.set("8", 0);
keyY.set("9", 0);
keyY.set("0", 0);
keyY.set("-", 0);
keyY.set("=", 0);
//12
keyY.set("q", 1);
keyY.set("w", 1);
keyY.set("e", 1);
keyY.set("r", 1);
keyY.set("t", 1);
keyY.set("y", 1);
keyY.set("u", 1);
keyY.set("i", 1);
keyY.set("o", 1);
keyY.set("p", 1);
keyY.set("[", 1);
keyY.set("]", 1);
//12 + 12
keyY.set("a", 2);
keyY.set("s", 2);
keyY.set("d", 2);
keyY.set("f", 2);
keyY.set("g", 2);
keyY.set("h", 2);
keyY.set("j", 2);
keyY.set("k", 2);
keyY.set("l", 2);
keyY.set(";", 2);
keyY.set("'", 2);
//12 + 12 + 11
keyY.set("z", 3);
keyY.set("x", 3);
keyY.set("c", 3);
keyY.set("v", 3);
keyY.set("b", 3);
keyY.set("n", 3);
keyY.set("m", 3);
keyY.set(",", 3);
keyY.set(".", 3);
keyY.set("/", 3);
//12 + 12 + 11 + 10 = 45
keyYLength = 45;// set length above
rectX = 0;
rectY = 0;
rectXOffset = 0;
rectYOffset = 0;
rectXOffsetC = width * 0.05;
rectYOffsetC = height * 0.05;
}
void draw() {
clear();
bgBrightness = lerp(bgBrightness, 0, .05);
if(bgBrightness < 0.01) {
bgBrightness = 0;
}
//background(bgHue, bgSaturation, bgBrightness);
rect(rectX + rectXOffset, rectY + rectYOffset, width, height);
fill(bgHue, bgSaturation, bgBrightness);
//println(bgColor);
}
void keyTyped() {
int keyXValue = keyX.get(str(key), 0);
int keyYValue = keyY.get(str(key), 0);
bgHue = map(keyXValue, 0, keyXLength, 0, 360);
bgSaturation = map(keyYValue, 0, 4, 80, 20);
previousTime = lastTime;
lastTime = millis();
delta = lastTime - previousTime;
keyValue = map(delta, 0, 2000, 1, 0);
bgBrightness = keyValue * keyValue * 100;
rectXOffset = map(keyXValue, 0, keyXLength, -rectXOffsetC, rectXOffsetC);
rectYOffset = map(keyYValue, 0, 4, -rectYOffsetC, rectYOffsetC);
// where "key" and "keyCode" from?
//println("typed " + key + "/" + int(key) + " " + keyCode);
//println("typed " + key + "/" + keyX.get(str(key)));
//println(delta, keyValue);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment