Back again with some more questions (thanks for all the help!) --- I'm trying to build a rudimentary color scheme creator, and I'm having some trouble.
- Calling translate within draw doesn't seem to carry through to the rest of the program --- yet when I moved the translate line outside the draw function, nothing changed --- neither within the setup, the mouse input, or the initial values. Using println reveals that mouseX is still registering in its original values (with (0,0) at top left). Really confused on this one.
- The constraints I've attempted to set against the mouseClicked input at the bottom seem to do absolutely nothing. I'm still able to adjust the trialhue variable if I click toward the left of program frame. Totally stumped.
Hoping that, after clearing these problems up, will be able to independently adjust hue, saturation and brightness.
Thanks in advance to anyone that can help!
//float h1,s1,b1,h2,s2,b2;
float h1 = 0.0;
float s1 = 0.0;
float b1 = 0.0;
float h2 = 0.0;
float s2 = 0.0;
float b2 = 0.0;
float hh,ss,bb;
float trialhue = 180;
float trialsat = 100;
float trialbri = 100;
void setup () {
size (800,550);
smooth ();
rectMode (CENTER);
colorMode (HSB,360,100,100);
}
void draw () {
translate (width/2,0);
background (0,0,10);
controls (0);
stroke (0,0,50);
fill (trialhue,trialsat,trialbri);
rect (-150,175,300,300);
fill (h2,s2,b2);
rect (150,175,300,300);
}
void controls (int x1) {
for (int i = 0; i <= 300; i++) {
float huebar = 360-i*1.2;
stroke (huebar,100,100);
line (x1,375,x1,400);
float satbar = 100-i/3;
stroke (trialhue,satbar,trialbri);
line (x1,425,x1,450);
float bribar = i/3;
stroke (trialhue,trialsat,bribar);
line (x1,475,x1,500);
x1 = x1-1;
}
}
void mouseClicked () {
translate (width/2,0);
if ((-300 <= mouseX) || (mouseX <= 0)) {
if ((375 <= mouseY) || (mouseY <= 400)) {
trialhue = mouseX*1.2;
println (mouseX);
} else if ((425 <= mouseY) || (mouseY <= 450)) {
trialsat = -(100-mouseX/3);
} else if ((475 <= mouseY) || (mouseY <= 500)) {
trialbri = -(mouseX/3);
}
}
}
1