Stap 7: Start aan code
1. invoer van de bibliotheek en globale variabelen instellen
Minim importeren
importeren van ddf.minim.*;
instellen van de correcte variabelen
Minim minim;
AudioPlayer lied;
PImage de img;
int lastSecond = 0;
int lastMinute = 0;
int lastHour = 0;
de x- en y coördineren van het punt in de img om het punt van kleur
float cx;
zweven cy;
2. schets initialiseren
VOID Setup {}
initialiseren van het scherm
grootte (600, 780);
Background(255);
img = loadImage("skyColor.jpg");
initialiseren van geluid
Minim = nieuwe Minim(this);
Dit ladingen bell.mp3 uit de datamap
nummer = minim.loadFile("bell.mp3");
int h=hour();
int s=second();
int m=minute();
uur draden trekken alread vandaag aangenomen
voor (int y = 780, ik = 1; y > = 780-7.5 * h; y-= 7.5, i ++) {}
voor (int x = 0; x < = 600; x+= 5) {}
kleur die de draden met de kleur kreeg van de img met behulp van de map() methode
CX = 60;
CY = kaart (i, 1, 20, 24 en 980);
kleur c = img.get(int(cx), int(cy));
Als ((x%10) == 0) {}
strokeWeight(2.5);
Curve (x, y, x, y, x + 4, y + 3 x + 4, y + 3);
beroerte (c, 200);
}
else {}
Curve (x, y, x, y, x + 4, y-3, x + 4, y-3);
}
}
}
tekenen van draden van de minuten verstreken huidige uur
voor (float y = 780-h * 7.5; y > 780-h*7.5-(m-1)*10;y-=10) {}
voor (int x = 0; x < = 600; x+= 10) {}
kleur van de draden met de kleur van de img met behulp van de map() methode
CX = kaart (m, 1, 1, 60 en 120);
CY = kaart (h, 1, 20, 24 en 980);
kleur c = img.get(int(cx), int(cy));
Als ((x%20) == 0) {}
strokeWeight(4);
Curve (x, y, x, y, x + 7, y + 7 x + 7, y + 7);
beroerte (c, 102);
}
else {}
Curve (x, y, x, y, x + 7, y-7, x + 7, y-7);
}
}
}
tekenen van seconden draden al doorgegeven huidige minuut
voor (int x = 0; x < s * 10; x+= 10) {}
kleur van de draden met behulp van de kleur van de img met behulp van de map() methode
CX = kaart (m, 1, 10, 60 en 120);
CY = kaart (h, 1, 20, 24 en 980);
kleur c = img.get(int(cx), int(cy));
float y=780-h*7.5-(m-1)*10;//the y-coördinaat van het beginpunt van elke tweede korte regel
Als ((x%20) == 0) {}
strokeWeight(4);
Curve (x, y, x, y, x + 7, y + 7 x + 7, y + 7);
beroerte (c, 102);
}
else {}
Curve (x, y, x, y, x + 7, y-7, x + 7, y-7);
}
}
}
3. beginnen animatie lus
VOID draw() {}
het uur, minuut en tweede nummers krijgen van OS
int s=second();
int m=minute();
int h=hour();
24 kleuren voor elke thread uur ophalen met de img map() methode
CX = kaart (m, 1, 12, 60, 1);
CY = kaart (h, 1, 20, 24 en 980);
kleur c = img.get(int(cx), int(cy));
caculate de x- en y-coördinaat van het beginpunt van elke korte lijn
int px = s * 10;
zweven py = 780-h * 7.5-(m-1) * 10;
een korte lijn trekken elke seconde
Als (s! = lastSecond) {}
Als ((s%2) == 0) {}
strokeWeight(4);
Curve (px, py, px, py, px + 7, py + 7, px + 7, py + 7); //draw een korte lijn elke seconde
beroerte (c, 102); kleur de korte lijn met de kleur van de img
}
else {}
strokeWeight(4);
Curve (px, py, px, py, px + 7, py-7, px + 7, py-7);
}
lastSecond = s;
}
Alle notulen draden (de dikke lijnen) zijn disappeard wanneer een uur passeert
Als (s == 59 & & m == 59) {}
Song.Play (0); //play geluid om de 60 minuten voorbij
noStroke();
rect (0, 0, 620, 780-h * 7.5); Gebruik een rechthoek ' opruimen ' van de dikke draden in het bovenste gedeelte van het venster
}
}