setLimites| Définition | Utilisation | Exemple | Côté technique |
|
PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-103-setLimites\Exemple-103-setLimites.ino (dans votre fichier téléchargé):
// L'intérieur d'une maison est dessinée et le soleil passe derrière la
// fenêtre On ne peut pas dessiner des morceaux de cercle pour faire
// "apparaître" ou "disparaître" le soleil. Par contre on peut dessiner le
// soleil en entier mais limiter son dessin à la taille de la fenêtre. Comme
// il y a deux fenêtres dans ce cas, je dessine le tout deux fois, la
// première en se limitant à la fenêtre de gauche, la deuxième fois à la
// fenêtre de droite
#include <PecheuxGraph.h>
const int CIEL = 0x755E;
void setup()
{
setGraphMode(PAYSAGE); // Initialisation
maison(0, 0); // Dessin de l'intérieur d'une maison
fillRect(50, 55, 107, 155, CIEL); // Vitre de gauche
fillRect(114, 55, 170, 155); // Vitre de droite
}
int x; // abscisse du centre du soleil
void loop()
{
if (++x > 250) x = 0; // x décrit [0..250]
// Dessin du soleil dans la nouvelle position
setLimites(50, 55, 107, 155); // Ce qui apparaît dans la vitre de gauche
fillCircle(x, 140 - x / 2, 20, YELLOW); // Soleil
circle(x, 140 - x / 2, 21, CIEL); // Effacement périphérique
circle(x, 140 - x / 2, 22, CIEL); // Effacement double
setLimites(114, 55, 170, 155); // Ce qui apparaît dans la vitre de droite
fillCircle(x, 140 - x / 2, 20, YELLOW); // Soleil
circle(x, 140 - x / 2, 21, CIEL); // Effacement périphérique
circle(x, 140 - x / 2, 22, CIEL); // Effacement double
delay(40); // Sinon le soleil va trop vite
}
Voir aussi: | |||