Man en vrouw in de class ¨Mens¨ met het gebruik van een object variabele terug naar de inleiding
de mensen passen zich aan, aan de grootte van het canvas de schets maakt gebruik van de class "Ruitjes"
Bekijk de groter en kleiner wordende poppetjes
Mens mens0; Mens mens1;
Mens mens2; Mens mens3;
Ruitjes ruitjespap;
float h;
float hb;
float groei = 0.5;
void setup() {
//fullScreen();
size(960, 540);
float x = width/2;
float y = height/2;
float n = height/10;
h = n/9; //voor hoogte h is het poppetje een vakje hoog
hb = h; //hb is de beginhoogte van het poppetje poppetjes uitgelijnd mbv de ruitjespapier class
ruitjespap = new Ruitjes(n,x,y);
//x, y en n zijn locale variabelen tbv de constructor
//h en hb zijn globale variabelen omdat zij ook in de draw lus worden gebruikt
mens0 = new Mens(x-4*n, y, h, color(255,0,244));
mens1 = new Mens(x-4*n, y, 6*h, color(255,255,0));
mens2 = new Mens(x, y, h, color(255,0,0));
mens3 = new Mens(x+4*n, y, 6*h, color(255,255,0));
}
void draw() {
background(#E6FBFF);
ruitjespap.display();
mens0.displayMan();
mens0.xReLi();
mens1.displayVrouw();
mens2.displayMan();
mens2.xLiRe();
mens3.displayVrouw();
//hb is de beginhoogte van de poppetjes 0 en 2
mens0.n = hb;
mens2.n = hb;
hb = hb + groei; // bij iedere tekencyclus wordt hb 0.5 pixel groter
//zodra hb groter wordt dan 8*h moet de groei afnemen
if (hb > 8*h) {
groei = - 0.5;
}
//zodra hb kleiner wordt dan h moet de groei weer toenemen
if (hb < h) {
groei = + 0.5;
}
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}
de class Mens
class Mens {
float x; float y;
float n; color c;
float snelh = 1;
Mens(float x_, float y_, float n_, color c_) {
x = x_;
y = y_;
n = n_;
c = c_;
}
void displayVrouw() {
strokeWeight(2);
fill(37,159,232,100);
ellipse(x, y-4*n, 2*n, 2*n); //hoofd
rect(x-n, y-3*n, 2*n, 3*n); //lichaam
rect(x-2*n, y-3*n, n, 3*n); //arm li
rect(x+n, y-3*n, n, 3*n); //arm re
rect(x-n, y+2*n, n/2, 2*n); //li been
rect(x+n/2, y+2*n, n/2, 2*n); //Re been
fill(c);
quad(x-2*n, y+2*n, x-n, y, x+n, y, x+2*n, y+2*n); //jurk
}
void displayMan() {
strokeWeight(2);
fill(c);
ellipse(x, y-4*n, 2*n, 2*n); //hoofd
rect(x-n, y-3*n, 2*n, 4*n); //lichaam
rect(x-2*n, y-3*n, n, 3*n); //arm li
rect(x+n, y-3*n, n, 3*n); //arm re
rect(x-n, y+n, n/2, 3*n); //li been
rect(x+n/2, y+n, n/2, 3*n); //Re been
}
void xLiRe() {
x = x + snelh;
if ((x > width) || (x < 0)) {
snelh = snelh * -1;
}
}
void xReLi() {
x = x - snelh;
if ((x > width) || (x < 0)) {
snelh = snelh * -1;
}
}
}