Led[][] lamp = new Led[6][6]; Slider rrr = new Slider(-200, 200, 0, 0); Slider ggg = new Slider(0, 200, 0, 0); Slider bbb = new Slider(200, 200, 0, 0); int sep = 40; int ledSize = 40; float ramt = 0; float gamt = 0; float bamt = 0; void setup () { size(800, 600); framerate(60); colorMode(RGB, 1.0); background(0); rectMode(CENTER); fill(1); noStroke(); } void draw () { background(0); translate(width/2, height/2); pushMatrix(); translate(-sep/2, -20); //1 fill(rrr.pos/10, ggg.pos/10, bbb.pos/10); lamp[0][0] = new Led(-3*sep, -3*sep, 1, 1, 1); lamp[0][5] = new Led(-3*sep, 3*sep, 1, 1, 1); lamp[5][0] = new Led(3*sep, -3*sep, 1, 1, 1); lamp[5][5] = new Led(3*sep, 3*sep, 1, 1, 1); //2 fill(rrr.pos/10-1, ggg.pos/10-1, bbb.pos/10-1); lamp[1][0] = new Led(-2*sep, -3*sep, 1, 1, 1); lamp[0][4] = new Led(-3*sep, 2*sep, 1, 1, 1); lamp[4][5] = new Led(2*sep, 3*sep, 1, 1, 1); lamp[5][1] = new Led(3*sep, -2*sep, 1, 1, 1); //3 fill(rrr.pos/10-2, ggg.pos/10-2, bbb.pos/10-2); lamp[0][1] = new Led(-3*sep, -2*sep, 1, 1, 1); lamp[4][0] = new Led(2*sep, -3*sep, 1, 1, 1); lamp[5][4] = new Led(3*sep, 2*sep, 1, 1, 1); lamp[1][5] = new Led(-2*sep, 3*sep, 1, 1, 1); //4 fill(rrr.pos/10-3, ggg.pos/10-3, bbb.pos/10-3); lamp[2][0] = new Led(-1*sep, -3*sep, 1, 1, 1); lamp[0][3] = new Led(-3*sep, 1*sep, 1, 1, 1); lamp[3][5] = new Led(1*sep, 3*sep, 1, 1, 1); lamp[5][2] = new Led(3*sep, -1*sep, 1, 1, 1); //5 fill(rrr.pos/10-4, ggg.pos/10-4, bbb.pos/10-4); lamp[1][1] = new Led(-2*sep, -2*sep, 1, 1, 1); lamp[1][4] = new Led(-2*sep, 2*sep, 1, 1, 1); lamp[4][1] = new Led(2*sep, -2*sep, 1, 1, 1); lamp[4][4] = new Led(2*sep, 2*sep, 1, 1, 1); //6 fill(rrr.pos/10-5, ggg.pos/10-5, bbb.pos/10-5); lamp[0][2] = new Led(-3*sep, -1*sep, 1, 1, 1); lamp[3][0] = new Led(1*sep, -3*sep, 1, 1, 1); lamp[5][3] = new Led(3*sep, 1*sep, 1, 1, 1); lamp[2][5] = new Led(-1*sep, 3*sep, 1, 1, 1); //7 fill(rrr.pos/10-6, ggg.pos/10-6, bbb.pos/10-6); lamp[1][2] = new Led(-2*sep, -1*sep, 1, 1, 1); lamp[3][1] = new Led(1*sep, -2*sep, 1, 1, 1); lamp[4][3] = new Led(2*sep, 1*sep, 1, 1, 1); lamp[2][4] = new Led(-1*sep, 2*sep, 1, 1, 1); //8 fill(rrr.pos/10-7, ggg.pos/10-7, bbb.pos/10-7); lamp[2][1] = new Led(-1*sep, -2*sep, 1, 1, 1); lamp[1][3] = new Led(-2*sep, 1*sep, 1, 1, 1); lamp[3][4] = new Led(1*sep, 2*sep, 1, 1, 1); lamp[4][2] = new Led(2*sep, -1*sep, 1, 1, 1); //9 fill(rrr.pos/10-8, ggg.pos/10-8, bbb.pos/10-8); lamp[2][2] = new Led(-1*sep, -1*sep, 1, 1, 1); lamp[2][3] = new Led(-1*sep, 1*sep, 1, 1, 1); lamp[3][2] = new Led(1*sep, -1*sep, 1, 1, 1); lamp[3][3] = new Led(1*sep, 1*sep, 1, 1, 1); popMatrix(); rrr.draw(); ggg.draw(); bbb.draw(); } void mouseDragged() { int mouseXAdj = mouseX - width/2; int mouseYAdj = mouseY - height/2; if( mouseYAdj > 180 && mouseYAdj < 220 ) { if( mouseXAdj > rrr.x-50 && mouseXAdj < rrr.x+50 ) { rrr.pos = mouseXAdj - rrr.x + 50; } if( mouseXAdj > ggg.x-50 && mouseXAdj < ggg.x+50 ) { ggg.pos = mouseXAdj - ggg.x + 50; } if( mouseXAdj > bbb.x-50 && mouseXAdj < bbb.x+50 ) { bbb.pos = mouseXAdj - bbb.x + 50; } } } void mouseReleased() { } // Classes. class Led { int x; int y; float r; float g; float b; Led (int _x, int _y, float _r, float _g, float _b) { x = _x; y = _y; r = _r; g = _g; b = _b; pushMatrix(); translate(x, y); ellipse(ledSize/2, ledSize/2, -ledSize/2, -ledSize/2); popMatrix(); } void set(float _r, float _g, float _b) { r = _r; g = _g; b = _b; pushMatrix(); translate(x, y); ellipse(ledSize/2, ledSize/2, -ledSize/2, -ledSize/2); popMatrix(); } } class Slider { int x; int y; float pos; int sw; Slider (int _x, int _y, float _pos, int _sw) { x = _x; y = _y; pos = _pos; sw = _sw; } void draw() { pushMatrix(); translate(x, y); fill(0.5); rect(0, 0, 100, 10); pushMatrix(); translate(pos-50, -10); fill(1); rect(0, 0, 4, 20); popMatrix(); popMatrix(); } }