Annonce

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


#1 2014-04-23 21:02:36 Relancer le programme

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Relancer le programme



Salut, je voudrais savoir en général comment on relance un setup et un draw. Par exemple, si l'utilisateur se trompe, je voudrais tout réinitialiser. ( cela correspondrait a enlever les "line" de mon code.)

Hors ligne

 

#2 2014-04-24 13:37:22 Re : Relancer le programme

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Relancer le programme



Hello...

Le setup() ne se lance qu'une fois, il est conçu pour cela... smile
Par contre, tu peux y définir des constantes d'initialisation que tu peux attribuer, à la demande, à tes variables...
Ce qui aura pour effet de "redémarrer" une partie de ton sketch...

Si tu as besoin de nettoyer ta scène de tes "lines", c'est que tu ne dois pas te servir de la fonction background() dans ton draw()...
Dans ce cas, en y faisant appel juste une fois, au moment de "redémarrer" justement, cela te videra ta scène...

Bon courage... smile

Edit : par "à la demande", penches toi sur la fonction keyPressed()


L'Amour au Peuple !

Hors ligne

 

#3 2014-04-25 13:49:10 Re : Relancer le programme

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Re: Relancer le programme



Ok très bien merci.

De plus, j'ai une autre question. Je crée des classes dans un "new tab" pour clarifier mon programe. Utilisant ControlP5; j'ai tout importé dans ma classe et j'ai cette erreur "the constructor ControlP5(jeutest.compteut) is undefined" alors que j'ai importé dans ma classe, dans mon "main" la librairies et les objets en début de prog. Donc je ne comprends pas vraiment. Tu as une idée?

J'ai vu dans d'autres sites que cela pouvait venir à cause du "this" dans le newControlP5(this), mais je ne l'utilise qu'une seule fois.

Dernière modification par Miaou (2014-04-25 13:50:10)

Hors ligne

 

#4 2014-04-25 16:23:11 Re : Relancer le programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Relancer le programme



Ta question est un peu confuse, initialises-tu bien l'objet principal cp5 ou autre dans le setup() ?
Je suppose que tu as déclaré cet objet en variable globale ?

C'est assez abstrait de te répondre sans un bout de code, un os à ronger quoi !

Hors ligne

 

#5 2014-04-25 17:24:23 Re : Relancer le programme

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Re: Relancer le programme



Je te comprends ^^ tient, le "main",

import controlP5.*;
ControlP5 controlP5;
Button b3;

int x=0, y=0,n=100,k=1,i=0,j=0;
int o=10, p=620; //texte rectangle.
int temps=0; //compteur
boolean text=false, etat; 

tableau tableau= new tableau();
tableau mouseReleased = new tableau();
tableau fond = new tableau();
compteur boutton = new compteur(); 
compteur horloge = new compteur();
compteur compteur = new compteur();

void draw() 
  {

tableau.tableau();
tableau.mouseReleased();
compteur.horloge();
 if(etat==true){
    compteur.compteur(); 
         }
   
 }
 
void setup() 
{
  frameRate(10);
size(880,660);
tableau.fond();
compteur.boutton();
}

et la classe que j'ai mis dans un new tab

Hors ligne

 

#6 2014-04-26 09:10:20 Re : Relancer le programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Relancer le programme



Attention à ne pas faire de confusion entre les onglets et les classes.
Quand tu créer un nouvel onglet pour séparer les parties du code l'IDE crée juste un autre fichier.
Les classes sont autre chose :
http://fr.flossmanuals.net/processing/ch021_les-objets
Si ton programme fonctionnait avant que tu décides de le séparer dans les onglets, reprends cette version, crée un  nouvel onglet puis copie et colle dans le nouvel onglet la partie de code que tu veux séparer pour une meilleure lecture.
Qu'il y ait ou non des onglets le programme fonctionne de la même manière.
J'espère avoir été clair ?

Hors ligne

 

#7 2014-04-26 10:57:02 Re : Relancer le programme

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Re: Relancer le programme



Oui très, j'ai compris. Mais j'ai réussi à créer une classe pour l'horloge, mais je n'y arrive pas pour le compteur. De plus, lorsque j'ai essayé sans créer de classe, tout le programme marche mais je n'arrive pas à cliquer dans le tableau pendant que le compteur est en marche

  import controlP5.*;
  ControlP5 controlP5;
  Button b3;
  
  int x=0, y=0,n=100,k=1,i=0,j=0;
  int o=10, p=620; //texte rectangle.
  int temps=0; //compteur
  boolean text=false, etat; 
  
  tableau tableau= new tableau();
  tableau mouseReleased = new tableau();
  tableau fond = new tableau();
  
  
  void draw() 
    {
      tableau.tableau();
  tableau.mouseReleased();
  if(etat==true){
     // compteur.compteur(); 
     horloge();
      redraw();
     
    if (etat) {
      compteur();
      redraw();
    }
           }
  
  //compteur.horloge();
   
     
   }
   
  void setup() 
  {
    frameRate(10);
  size(880,660);
  
  //compteur.boutton();
  boutton();
    tableau.fond();
  }

J'ai essayé de mettre redraw(); de rajouter en plus mon tableau(), et mouseReleased(); de mettre une boucle qui ne tourne qu'une seule fois/boolean, ça ne marche pas.

Hors ligne

 

#8 2014-04-26 19:45:50 Re : Relancer le programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Relancer le programme



Pour faire fonctionner le compteur tu utilises la méthode delay(). Celle-ci boucle pendant une seconde et donc bloque tout le déroulement du programme.
Il faut sauvegarder le temps grâce à millis() lors de l'appui sur le le bouton et ensuite le comparer pour l'affichage avec le temps présent :

Hors ligne

 

#9 2014-04-26 20:49:22 Re : Relancer le programme

Miaou
membre
Date d'inscription: 2014-04-20
Messages: 30

Re: Relancer le programme



Ouah, tu sais comment tout ça toi? ^^ Merci beaucoup pour tout. Quand tu cliques dans le tableau, est-ce que toi aussi ton tableau devient tout violet et quand tu cliques dans une cases il y a une croix violette moche qui apparaît?

Hors ligne

 

#10 2014-04-26 20:59:36 Re : Relancer le programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Relancer le programme



Tu n'as pas publié la classe tableau donc je ne peux pas du tout tester.

De plus, comme tu utilises déjà ControlP5, tu peux facilement intégrer un ControlTimer.

Dernière modification par Mushussu (2014-04-26 21:01:37)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024