If(){design}else{art} Processing, le livre

18 juin 2011

Pour utiliser plusieurs programmes successivement

Filed under: tips — jean-noël Lafargue @ 11 h 19 min

Suite à la demande d’un lecteur, voici une méthode très simple pour passer d’un programme à un autre.
En réalité, il n’y a qu’une seule animation, mais notre fonction « draw() » s’exécute différemment selon l’état de la variable sketchEnCours. Si cette variable a la valeur 1, c’est le programme draw_1() qui est exécuté, et si c’est elle a la valeur 2, c’est le programme draw_2() qui le sera.
On passe du mode 1 au mode 2 en appuyant sur les touches « 1 » et « 2 ».

int sketchEnCours = 1;
void setup(){
size(500,500);
background(0);
}

void draw(){
if(sketchEnCours==1){
draw_1();
}
if(sketchEnCours==2){
draw_2();
}
}

void draw_1(){
stroke(255);  float an=random(TWO_PI);float r=random(200); 
line(width/2, height/2, width/2+cos(an)*r, height/2+sin(an)*r);
}

void draw_2(){
stroke(0);  rect(random(width),random(height),10,10);
}

void keyPressed(){
if(key=='1'){    background(0);    sketchEnCours=1;  }
if(key=='2'){    background(255);    sketchEnCours=2;}
}

Si les différentes sous-animations sont complexes, réclament des variables spécifiques, etc., on gagnera à traiter tout cela en programmation objet.

Aucun commentaire »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress