Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2013-04-04 17:07:58 réinitialiser le programme en boucle

daapmu
nouveau membre
Date d'inscription: 2012-10-13
Messages: 2

réinitialiser le programme en boucle



bonjour,
je commence (vraiment-vraiment) sur processing j'ai fait ce petit programme (hyper basic je suis désolée) je voudrais simplement que ce programme se relance automatiquement toute les 5 heures. c'est à dire qu'au bout de ce temps, l'écran étant saturé noir, je voudrais qu'il recommence au début : fond blanc, apparition des cercles qui s'empilent les uns sur les autres jusqu'au noir complet et re, etc. etc. de manière autonome car cela doit se faire 24H/24 pendant plusieurs jours.
j'ai tout exploré mais je n'ai pas compris quoi faire , ni trouvé la bonne commande et j'imagine que ça doit être très simple. Bref si quelqu'un peut m'aider; merci d'avance. en plus je dois installer ce truc demain midi. (aie aie aie)

void setup () {
  size(1600, 1200);
  background (255);
  frameRate (4000) ;

     
}

void draw() {   
    for (int i = 0; i < 1; i++) {
    float x = random(width);
    float y = random(height);
   
   
   
    smooth ();
    fill(10,0);
    //stroke(125);
    ellipse (x, y, 7, 7);
    println (frameCount);
   
    }
   
}

Hors ligne

 

#2 2013-04-04 19:22:05 Re : réinitialiser le programme en boucle

gundorf
membre
Date d'inscription: 2012-04-12
Messages: 36

Re: réinitialiser le programme en boucle



yop,
un truc comme ça:

millis() te donnent le temps écoulé en millisecondes depuis le lancement du programme.
je passe par la variable last qui prend la valeur du millis toutes les timing secondes, ici toutes les 10 secondes. J'en profite pour balancer un fond d'écran blanc qui efface les cercles.
du coup 5 heures: 1000 *60*60 *5 = 1080 000 000

Hors ligne

 

#3 2013-04-04 19:22:23 Re : réinitialiser le programme en boucle

mfm
membre
Date d'inscription: 2012-08-30
Messages: 37

Re: réinitialiser le programme en boucle



Bonsoir et bienvenu,

Si tu as 4000 frames par seconde (frameRate(4000)) et comme il faut 5*60*60 secondes — c'est-à-dire 18000 secondes sauf erreur de ma part — pour atteindre 5 heures, tu dois relancer, dans le draw(), la fonction background() toutes les 4000*18000 (= 72 000 000) frames à l'aide de la fonction frameCount(), ou plutôt via une nouvelle variable qui augmente d'une unité par frame (et que tu réinitialiseras toutes les 72 000 000 frames — toutes les cinq heures quoi).

Code (P5) :

Dernière modification par mfm (2013-04-04 19:24:38)

Hors ligne

 

#4 2013-04-07 18:16:45 Re : réinitialiser le programme en boucle

daapmu
nouveau membre
Date d'inscription: 2012-10-13
Messages: 2

Re: réinitialiser le programme en boucle



merci beaucoup pour votre aide
cela me servira de toute façon pour d'autres programmes;
entre-temps j'avais trouvé la soluce en utilisant le framecount et un système itératif et ça donne ça :


int k = 0;

public void setup() {
size(1600, 1200, P2D);
frameRate (500);
background(255);

}

public void draw() {   
if(k>=1270000) // avec X = frameRate où l'écran noir
{
background(255);
k=0;

}

k++; // on incrémente k

for (int i = 0; i < 1; i++) {
   
   float x = random(width);
   float y = random(height);
   
   smooth ();
   fill(10,0);
   //stroke(125);
   ellipse (x, y, 7, 7);
   println (frameCount);
   
}
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024