controlp5/examples/use/ControlP5workingWithIDs/ControlP5workingWithIDs.pde

63 lines
1.5 KiB
Plaintext

/**
* controlP5workingWithIDs by andreas schlegel
* an example to show how to distinguish controllers by IDs.
* further information in the documentation folder provided in the controlP5 folder.
* controlP5 website at http://www.sojamo.de/controlP5
*/
import controlP5.*;
ControlP5 cp5;
public int myColorRect = 200;
public int myColorBackground = 40;
void setup() {
size(400,400);
noStroke();
/* new instance of ControlP5 */
cp5 = new ControlP5(this);
/* add 2 controllers and give each of them a unique id. */
cp5.addNumberbox("numberbox1")
.setPosition(100,160)
.setSize(100,14)
.setId(1)
.setValue(myColorRect);
cp5.addSlider("slider1")
.setRange(10,200)
.setValue(myColorBackground)
.setPosition(100,220)
.setSize(100,10)
.setId(2);
}
void draw() {
background(myColorBackground);
fill(myColorRect);
rect(0,0,width,100);
}
void controlEvent(ControlEvent theEvent) {
/* events triggered by controllers are automatically forwarded to
the controlEvent method. by checking the id of a controller one can distinguish
which of the controllers has been changed.
*/
println("got a control event from controller with id "+theEvent.getController().getId());
switch(theEvent.getController().getId()) {
case(1):
/* controller numberbox1 with id 1 */
myColorRect = (int)theEvent.getValue();
break;
case(2):
/* controller slider1 with id 2 */
myColorBackground = (int)theEvent.getValue();
break;
}
}