Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
5798d3dfaThis file is pinned to the selected release. Download the original to open it in your design tool.
/**
* ControlP5 plugTo
*
* This example demonstrate how to use the plugTo method to
* connect a controller to a field or method of a particular object.
*
*
* find a list of public methods available for the ControlP5 Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2011
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
import processing.opengl.*;
ControlP5 controlP5;
Test[] testarray;
Test test;
Button b;
int cnt;
void setup() {
size(600,400);
smooth();
test = new Test(50);
testarray = new Test[10];
for(int i=0;i<10;i++) {
testarray[i] = new Test(200 + i*20);
}
controlP5 = new ControlP5(this);
controlP5.begin(100,20);
b = controlP5.addButton("trigger",1);
b.setColorBackground(ControlP5.RED);
controlP5.addButton("plug",2);
controlP5.addButton("unplug",3);
// b is a button previously added to controlP5 with name 'trigger'
// controlP5 no tries to find a field or method inside object test
// in order to connect controller 'trigger' with test.trigger()
b.plugTo(test);
controlP5.end();
}
// connects controller 'trigger' with objects of type Test contained
// inside arrat testarray
void plug(int theValue) {
b.plugTo(testarray);
b.setColorBackground(ControlP5.GREEN);
println("plugging controller b1 to array 'testarray' and variable 'test'.");
}
// disconnects controller 'trigger' from objects of type Test stored
// inside array testarray
void unplug(int theValue) {
b.unplugFrom(testarray);
b.setColorBackground(ControlP5.RED);
println("removing array 'testarray' and variable 'test' from controller b1.");
}
void draw() {
background(0);
fill(255);
for(int i=0;i<10;i++) {
testarray[i].display();
}
test.display();
cnt++;
if(cnt%30 == 0) {
controlP5.getController("trigger").update();
}
}
class Test {
float n0 = 0;
float n1 = 1;
float x;
Test(float theX) {
x = theX;
}
void trigger(int theValue) {
n1 = random(100);
}
void display() {
n0 += (n1-n0) * 0.1;
rect(x,200,10,n0);
}
void controlEvent(ControlEvent theEvent) {
//println("\t\t b1 event sub \n\n");
}
}