Processing Objekter
Siden her beskriver hvordan Processing kan håndtere objekter. Siden er skrevet ud fra best pracsis omkring objekter.
Eksempler til denne side ligger i Denne ZIP-fil. Der beskrives to forskellige klasser - en Button klasse, der kan lave objekter til knapper på skærmen og en snowflake klasse der demonstrerer hvordan man kan håndtere mange objekter i en datastruktur.
Klasser laver objekter
For at kunne oprette objekter skal man have en klasse der indledes med følgende kode:
class Button {
Hvor Button er navnet eller typen på klassen.
I klassen skal der være en constructor, som er den funktion der opretter det aktuelle objekt. Denne constructor kan i Button-eksemplet se ud som følger:
Button(float xPos, float yPos, float wid, float hgh, String tx) {
x = xPos;
y = yPos;
w = wid;
h = hgh;
txt = tx;
r = 0;
c = 0;
textColor = 255;
hover = 0;
txtSz = 25;
frame = 0;
frameColor = 0;
}
Kaldet til denne constructor ser ud som følger:
Button btn1 = new Button(30, 400, 140, 40, "Klik Her");
Der oprettes et objekt btn1 med de parametre i kaldet, som bliver til egenskaber der er angivet i kaldet til Button-constructoren.
Et objekts egenskaber
Hver objekt der oprettes ud fra en klasse vil have en række egenskaber.
Hvert enkelt objekt der oprettes har sine egne individuelle egenskaber, men de er angivet inde i klassens kode.
En typisk klasse vil oprette objektet med de egenskaber der er nødvendige, mens de mere sekundære egenskaber sættes til en standard-værdi der giver mening i anvendelsen af objektet.
Et objekts metoder
Ud over constructoren der opretter objektet, så vil der normalt være en del metoder som kan anvendes til brug i det program man skriver.
set-metoder
Hvis man vil tilrette objektet ved at rette på de sekundære egenskaber, så vil man normalt oprette set-metoder i klassen, hvor man sender de nye egenskaber over som parametre.
Et eksempel på en set-metode kunne være setColor() eller setRadius() som vist her:
void setColor(color cl, color hv) {
c = cl;
hover = hv;
}
void setRadius(float round) {
r = round;
}
metoder der anvendes i afviklingen af programmet
For at man skal kunne anvende objekterne i programmet, så skal man kunne vise objektet med en draw() metode eller man skal kunne aflæse om der er klikket på musen med en clicked() metode. De kan se ud som følger:
void draw() {
rectMode(CORNER);
if (mouseIn()) {
fill(hover);
} else {
fill(c);
}
strokeWeight(frame);
stroke(frameColor);
rect(x, y, w, h, r);
textSize(txtSz);
textAlign(CENTER);
fill(textColor);
text(txt, x + w/2, y + txtSz / 3 + h/2);
}
boolean clicked() {
if (mouseIn()) {
if (mousePressed && (mouseButton == LEFT)) {
return true;
}
}
return false;
}