Annonce

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


#16 2012-01-22 23:40:11 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



le bout de code que j'ai modifié et qui a changé le comportement est celui ci :
pollens.add(new Pollen(tendrils.get(0)));
on prend le premier element de la liste trendrill ( donc la queue de l'objet ) comme référence pour le dernier élément de la liste pollen ( soit la tête ).

Quand tu trouves pas la solution a un problème, hésites pas a consulter les docs des fonctions utilisés, tu peux y trouver poruquoi ça ne marche pas.

Hors ligne

 

#17 2012-01-23 22:05:24 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



OK, ok... je comprends mieux... Et si, par exemple, je voulais qu'après être apparus à la position de la dernière instance les objets Pollen partent dans leur propre direction, où devrais-je placer le code pour modifier posP? directement dans draw() ou dans l'update de la class Pollen?

Merci de votre aide,
aR


myspace.com/arsrobota

Hors ligne

 

#18 2012-01-23 22:53:22 Re : variable de class

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: variable de class



Si tu veux rester objet c'est à tes instances de se déplacer "seules" donc dans oui, dans l'update de Pollen.


[ Viande for life ! ]

Hors ligne

 

#19 2012-01-24 09:31:47 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



Et si tu veux allez plus loin dans l'objet, tu peux créer un objet Pollens, qui contiendra tes instances Pollen...

Hors ligne

 

#20 2012-01-24 10:23:37 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



citation :

tu peux créer un objet Pollens, qui contiendra tes instances Pollen...

Un objet qui contient des instances? Tu m'intéresses! Mais je ne vois pas trop ce que ça peut donner... Est-ce que je pourrais créer un objet qui ne contiendrait que certaines instances de mon objet Pollen (en fait, toutes les instances sauf la première créée, qui aurait les même coordonnées que la première instance de Tendril)?

Merci beaucoup à tous de votre aide,
aR

Dernière modification par Ars Robota (2012-01-24 11:07:18)


myspace.com/arsrobota

Hors ligne

 

#21 2012-01-24 11:14:26 Re : variable de class

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: variable de class



Je pense que ce que veux dire cgiles (tu me dis si je me trompe) c'est qu'une classe "PollenManager" ou "Pollens" (peu importe) te permettrait de créer des Pollens facilement, où tu veux et peut être pour un autre projet.

Une des idée de l'objet est de supprimer les "liens forts" entre les classes. Aujourdh'ui ton projet fonctionne mais ta classe principale "connait" tous les pollens, ce qui n'est pas forcément intéressant car si tu voulais recréer un autre départ de pollens il faudrait que tu ais un autre tableau avec tous tes autres pollens, que tu les updates un après l'autre etc...
Si tu fais une classe "PollenManager" ou plutôt "PollenEmiter" qui gère ça pour toi, tu pourrais créer facilement plusieurs départs de pollen en faisant :

PollenEmiter p1 = new PollenEmiter(250,350); //départ de pollen en x250,y350
PollenEmiter p2 = new PollenEmiter(12,84);//départ de pollen en x12,y84

plus facile que de recréer un tableau, faire des boucles etc... et surtout bien plus lisible !


[ Viande for life ! ]

Hors ligne

 

#22 2012-01-24 12:49:39 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



Turboconnard explique mieux que je ne l'aurais fait. Et tu pourrais ajouter dans ton manager une fonction dédié uniquement a la première instance de ta liste

Hors ligne

 

#23 2012-01-24 22:18:56 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



D'aaaaacord!... En fait, le truc consisterait à créer une class avec une fonction dédiée à la création des instances (un équivalent à pollens.add) et une autre à la mise à jour des coordonnées (ce qui, si je ne me trompe pas, existe déjà avec update)?

Donc: une fonction qui crée les instances, une fonction qui met à jour la première instance et une dernière qui met à jour les autres, le tout appelé dans une boucle for à l'intérieur de draw. J'ai bon, m'sieur?


myspace.com/arsrobota

Hors ligne

 

#24 2012-01-25 11:43:04 Re : variable de class

Turboconnard
membre
Lieu: Lyon
Date d'inscription: 2012-01-13
Messages: 42
Site web

Re: variable de class



Je crois que t'es pas mal !


[ Viande for life ! ]

Hors ligne

 

#25 2012-01-25 15:11:56 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



Et tu peux aller plus loin en créant deux méthode update uune pour le premier, une pour les  suivant, et les mettre dans ta fonction update principale. et tu peux directement faire ta boucle for dans l'update de pollenManager, ainsi ton code draw se résumera a la création d'un pollenManager, son update et son display.

Dernière modification par cgiles (2012-01-25 15:13:28)

Hors ligne

 

#26 2012-01-25 16:33:18 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



... Le problème va être de mettre tout ça en pratique et c'est loin d'être gagné! Si vous avez des suggestions je suis pas contre...


myspace.com/arsrobota

Hors ligne

 

#27 2012-01-25 16:53:41 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



Il suffit simplement de reporter dans une classe ce que tu fais actuellement en setup et draw.
Ensuite tu peux utiliser un algorythme :
//creer les listes
//intialisaer les listes
//modifier la première valeur
//copier les valeurs en suivant
//ect...

Hors ligne

 

#28 2012-01-25 17:12:10 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



Bon alors ceci est un premier modèle (volontairement sommaire et incomplet, histoire de résumer):

Pollen p1;
int nbr;

void setup() {
  p1=new Pollen(x, y);
  nbr=20;
}

void draw() {
  for(int i=0;i<nbr;i++) {
    p1.emitter(x, y);
    p1.update();
    p1.update();
    p1.ink();
  }
}

class Pollen {
  PVector posP;
  
  Pollen(float _x, float _y) {
    posP=new PVector(_x, _y);
  }
  Pollen(Tendril lastTendril) {// superflue?
    posP=new PVector(lastTrendil.posT.x, lastTrendil.posT.y);
  }
  
  void emitter(float x, float y) {
    posP.set(lastTendril.posT.x, lastTendril.posT.y);// possible?
  }
  
  void update1() {
  }
  
  void update2() {
  }
  
  void ink() {
    noFill();
    stroke(0, 255, 0);
    ellipse(posP.x, posP.y, 8, 8);
  }
}

Voyez-vous de grosses erreurs pour l'instant, ormis le fait que les fonctions update ne sont pas écrites?

Merci beaucoup.

Dernière modification par Ars Robota (2012-01-25 17:17:27)


myspace.com/arsrobota

Hors ligne

 

#29 2012-01-25 17:37:19 Re : variable de class

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: variable de class



a rajouté a la fin de ton code , la classe pollenManager :

et voila a quoi peut ressembler ton code principal avec ça :

PollenManager pollenManager;
void setup() {
  size(400, 400);
  frameRate(30);
  smooth();
 pollenManager=new PollenManager();
}

void draw() {
  background(255);
  pollenManager.update();
  pollenManager.display();
}

Dernière modification par cgiles (2012-01-25 17:38:45)

Hors ligne

 

#30 2012-01-25 18:05:10 Re : variable de class

Ars Robota
membre
Date d'inscription: 2008-03-23
Messages: 191

Re: variable de class



Merci cgiles, je vais essayer ça mais processing me dit, à propos de p1, que "field Component.x is not visible"... et si je supprime les paramètres x et y, il me dit que Pollen n'est pas défini. J'ai beau ré-examiner le code de long en large, je ne vois pas de quoi il s'agit.

Dernière modification par Ars Robota (2012-01-25 18:18:07)


myspace.com/arsrobota

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024