Hej!Zweites Schaltflächenobjekt überschreibt das erste (Verarbeitung)
Ich bin neu in der Verarbeitung, es tut mir leid im Namen, wenn ich nicht klar genug in meinen Fragen bin.
Ich mache eine Art Toaster, der startet, wenn man auf einen Startknopf klickt und Brot auswirft, wenn man auf den Stopknopf klickt. Ich habe eine Button-Klasse erstellt und ein neues Button-Objekt in meinem Hauptprogramm erstellt. Zum Testen habe ich die Hintergrundfarbe von weiß auf rot geändert, wenn ich auf den Start-Button geklickt habe.
Der Start-Button funktioniert, aber jetzt versuche ich ein neues Button-Objekt zu erstellen (die STOP-Taste), aber wenn ich ein Stop-Button-Objekt mache, überschreibt es das Start-Button-Objekt). Zuerst habe ich es vielleicht, weil sie Startknopf waren Orte unter dem Stop-Button, aber das ist es nicht. Es dauert auch ewig, bis das Bild geladen ist, sobald ich es verarbeitet habe.
Ich hoffe, dass Sie mir helfen können :)
int s = 0;
int m = 0;
Button stop_button;
Button on_button;
int clk = 1;
void setup()
{
on_button = new Button("Start", 230, 300, 60, 30);
stop_button = new Button("Start", 230, 300, 60, 30);
size(600, 600);
background(255, 255, 255);
}
void draw() {
stroke(240, 242, 179);
fill(240, 242, 179);
rect(190,150,210,130, 30);
stroke(126, 191, 167);
fill(126, 191, 167);
rect(170,200,250,170, 30);
//BUTTON CODE
if (on_button.MouseIsOver()) {
}
on_button.Draw();
}
void mousePressed()
{
if (on_button.MouseIsOver())
print("Clicked: ");
println(clk++);
time();
}
}
void time()
{
background(255, 0, 0);
}
// Button-Klasse
class Button {
String label; // button label
float x; // top left corner x position
float y; // top left corner y position
float w; // width of button
float h; // height of button
// constructor
Button(String labelB, float xpos, float ypos, float widthB, float heightB) {
label = labelB;
x = xpos;
y = ypos;
w = widthB;
h = heightB;
}
void Draw() {
fill(218);
stroke(141);
rect(x, y, w, h, 10);
textAlign(CENTER, CENTER);
fill(0);
text(label, x + (w/2), y + (h/2));
}
boolean MouseIsOver() {
if (mouseX > x && mouseX < (x + w) && mouseY > y && mouseY < (y + h)) {
return true;
}
return false;
}
}
Das einzige, was ich bisher getan habe, ist einen Toaster und einen Startknopf zu zeichnen. Wenn Sie auf die Schaltfläche klicken, wird die Funktion "Leerzeit" aufgerufen. Der Hintergrund wird rot - ich habe dies nur getestet, um zu testen, ob es funktioniert. Ich möchte wirklich, dass es einen Timer startet, wenn die Leerlaufzeitfunktion aufgerufen wird. Aber ich wollte langsam anfangen und nur schauen, ob ich etwas machen könnte ... Mein Problem ist jetzt, dass ich neben dem stat Knopf einen anderen Knopf brauche, der sagt: "Stop", weil ich in der Lage sein muss, das zu starten und zu stoppen Toaster. – Maria
Ich habe ein Bild des Toasters beigefügt, den ich bisher gemacht habe. – Maria
Okay, ich habe es gelöst: D Danke für Feedback, obwohl Kevin :) – Maria