J'ai donc ce code de liste de contrôle en cours de traitement, et je veux être capable de cliquer sur l'un des boutons de la liste, et ce bouton se remplit de noir, mais chaque fois. J'ai obtenu cette partie fonctionnant pour un seul bouton, mais chaque fois que j'implémente plus de boutons dans la classe et cliquez sur un bouton, il remplit chaque bouton. J'ai essayé d'utiliser pushMatrix/popMatrix & pushStyle/popStyle, mais chaque fois que je fais cela, les boutons ne changent jamais de couleur lorsque je les clique. Si quelqu'un pouvait me dire comment faire cela, ce serait très apprécié.Liste de vérification dans le traitement des problèmes de remplissage
est ici la classe bouton:
class Button {
// Other optional attributes could be r, g, and b values for examples
int xLoc;
int yLoc;
int wide;
int tall;
int fill;
boolean checked;
Button(int x, int y, int w, int h, int f) {
xLoc = x;
yLoc = y;
wide = w;
tall = h;
fill = f;
}
void display() {
//fill with blue green and create the rect
fill(fill);
if (mousePressed) {
if (button1.isClicked() == true) {
fill = 0;
}
}
ellipse(xLoc, yLoc, wide, tall);
}
// returns true if the mouse is over the button and false otherwise
boolean isClicked() {
if (mouseX > xLoc && mouseX < xLoc + wide) {
if (mouseY > yLoc && mouseY < yLoc + tall) {
return true;
}
}
return false;
}
boolean isChecked() {
if (fill == 0) {
return true;
} else {
return false;
}
}
}
Et voici le code principal:
Button button1 = new Button(50, 50, 20, 20, 255);
Button button2 = new Button(50, 75, 20, 20, 255);
Button button3 = new Button(50, 100, 20, 20, 255);
Button button4 = new Button(50, 125, 20, 20, 255);
void setup() {
size(500, 500);
}
void draw() {
background(50);
button1.display();
button2.display();
button3.display();
button4.display();
}
Avez-vous savoir [votre première question] (http: // stackoverflow. com/questions/43897582/create-a-checklist-in-processing)? Si oui, répondez-y ou supprimez-le. Si ce n'est pas le cas, modifiez-le pour inclure une question. –