Bonsoir,
j'ai un projet à réaliser pour un cours sur Processing et je dois obligatoirement utiliser la POO pour animer divers éléments.
J'ai déjà codé plusieurs éléments mais je dois ajouter deux quadrilatères animés et je voulais les faire clignoter. Le problème c'est que je ne sais pas comment faire, je pars donc de zéro pour ce morceau de code.
Merci d'avance pour l'aide
Dernière modification par Tonerica (2016-02-09 20:09:58)
Hors ligne
Bonsoir Tonerica,
Ta question n'est pas très précise
Peut-être que tu pourrais poster le code que tu as déjà pour que l'on puisse voir comment en ajouter, un clignotement ça consiste en général à changer la couleur de l'objet une fois par affichage, ou une fois tous les X affichages selon la vitesse que tu souhaites, dans ce cas tu peux créer une variable booléenne dans ton objet et la faire basculer avec frameCount et modulo avec un truc comme ça
if (frameCount%10 == 0) { // pour une fois toutes les 10 frames clignotement = !clignotement; } if (clignotement) { fill(0); } else { fill(255); }
Hors ligne
Pour poursuivre l'idée d'emoc, tu peux intégrer ta variable clignotement dans ta classe. Tu peux aussi initialiser deux autres variables de vitesse et de début du clignotement. Ainsi si tu as deux quadrilatère avec la même vitesse de clignotement, tu peux les déphaser.
Quadrilatere q1, q2; void setup() { size(800, 600); q1 = new Quadrilatere(100, 100, 200, 80, 250, 200, 120, 180, 10, 0, color(255, 0, 0)); q2 = new Quadrilatere(300, 300, 450, 320, 550, 400, 280, 400, 20, 5, color(0, 255, 0)); } void draw() { background(255); q1.affichage(); q2.affichage(); } class Quadrilatere { int vitesse; int debut; int x1, y1, x2, y2, x3, y3, x4, y4; color couleur; boolean clignotement; Quadrilatere(int _x1, int _y1, int _x2, int _y2, int _x3, int _y3, int _x4, int _y4, int v, int d, color c) { x1 = _x1; y1 = _y1; x2 = _x2; y2 = _y2; x3 = _x3; y3 = _y3; x4 = _x4; y4 = _y4; couleur = c; vitesse = v; debut = d; clignotement = true; } void affichage() { if ((frameCount - debut) % vitesse == 0) { clignotement = !clignotement; } if (clignotement) { fill(couleur); } else { fill(255); } quad(x1, y1, x2, y2, x3, y3, x4, y4); } }
Hors ligne
Pages: 1