Bonjour à tous,
De nouveau je reviens chercher de l'aide.
En effet je cherche une méthode de programmation afin d'effectuer une action pour un objet, dans une durée limitée, déclenché par une condition.
Pour l'instant j'arrive a programmer que si une condition est avérée vrai alors l'objet doit se comporter de tel façon. Mais dès que la condition n'est plus vrai l'objet arrête de se comporter de la façon programmer.
Désormais j'aimerais que si a un moment T=0 l'objet répond à tel condition alors a partir de T et jusqu'a T+X l'objet suivra tel comportement. Ainsi même si à T+5 (5<X) l'objet ne répond plus a la condition il continuera l'action déterminer a T = 0.
Un truc du genre:
if(condition avéré){
T=0;
cet_objet action durant x temps
}
il faudrait que :
- seul l'objet remplissant cette condition a un moment effectue l'action durant un certain temps
- que si deux objets ou plus répondent à la condition mais à des temps de départ différents n'arrêtent pas en même temps l'action.
Quelqu'un a une idée??
Hors ligne
les classes, mais ça c'est un gros morceau de programmation, pour donner le même compôrtement a plusieurs objets selon des variables différentes.
pour déclencher l'evenement tu lui mets une variable booléenne, qui deviendra false une fois le temps écoulé.
Hors ligne
Donc voila ce que j'ai réussit à faire en piquant l'idée du compteur de nombre entier trouvé sur http://fr.flossmanuals.net/processing/c … e-de-temps
qui déclenche une variable booléenne si la condition est avéré et qui la rend fausse si elle dépasse un nombre aléatoire définit a chaque nouvel appel de la condition. De plus elle possède une condition de retour a False au cas ou elle (lacondition) serait rappeler trop souvent.
Truc objet1 = new Truc(); void setup(){ noCursor(); size (500, 500); frameRate (60); } void draw(){ background(0); //ellipse(width/2, height/2, 50, 50); objet1.persistance(); } class Truc { int compteur, chrono, balle; boolean clicksouris; Truc (){ clicksouris = false; compteur = 0; balle = 20; } void persistance() { println(chrono); println(compteur); println(clicksouris); if(clicksouris){ ellipse (mouseX, mouseY, balle, balle); } if(mousePressed == true){ chrono = int (random(120, 360)); } if(mousePressed == true || compteur != 0){ clicksouris = true; compteur += 1; } if(compteur == chrono || compteur > 800){ compteur = 0; clicksouris = false; } } }
Je crois que c'est la première fois que je programme de mémoire sans faire pleins de copier coller, d’où surement le côté capillotracté du programme. Si vous voyez des choses à simplifier je suis preneur.
Hors ligne
ctrl+t : ça autoformat ton code avec les tabulations, très pratique
Hors ligne