Probleme ciblage classes pour eviter _root

Probleme ciblage classes pour eviter _root - Flash/ActionScript - Programmation

Marsh Posté le 05-03-2008 à 23:07:12    

Saut a tous!
Je debute en POO avec AS2 et je suis confronté a un probleme de ciblage de mes objets ce qui m'a obligé a utiliser des _root et c'est trés mal je sais icon_redface.gif
 
J'ai lu les tutos du Wiki : Introduction aux classes ActionScript
 
Je charge un XML puis je génere mes objets (sur l'image 1 de la scene principale),
Dans ma boucle :
 

Code :
  1. _global.nblogs++;
  2. _root["log"+_global.nblogs] = new logs(_global.nblogs);
  3. _root["log"+_global.nblogs].setLogTimeout(_global.noeudCur,nbtmp);


Ensuite je veux pouvoir accéder a mes objets depuis une autre methode de la classe logs :

Code :
  1. public function getLogs(){
  2. if(this._type=='timeout'){
  3.   var menuName = _root["node"+this._idMenuTimeout].getMenuLogName();
  4.   return this._logTime+'</td><td>'+this._type+' #'+this._nbMenuTimeout+' : '+menuName;
  5.  }
  6. }


Je ne vois pas comment je pourrais cibler mes objets sans utiliser _root a part avec _global.racine = _root; et en utilisant _global.racine partout a la place du _root ...
 
Quelle est LA solution propre a utiliser selon vous ?
Un grand merci d'avance gourou.gif
 
PS: Je suis un peu paumé sur le ciblage des objets icon_sad.gif est-ce que cela fonctionne exactement comme le ciblage des clips ?
Genre si je fais this.obj = new objet(); sur ma scene principale l'objet est-t-il "lié" a la scene principale au level0 ?


---------------
Agence de communication web à Montréal : http://www.tonton.ca/
Reply

Marsh Posté le 05-03-2008 à 23:07:12   

Reply

Marsh Posté le 06-03-2008 à 06:51:31    

Moi pour le ciblage, j'utilise plusieurs astuces.
Je sais pas si c'est tres reglo mais ca marche bien.
 
D'abord je simplifie un max mes clips pour pas avoir 10 000 sous-sous-sous clips.
Sinon sur la scene je mets :
_global._this = this;
 
Dans une classe je mets un parametre target ou root.
 
var foo = new Bar(this, param1, param2);
 
Comme ca, si ma classe produit quelque chose, je le place sur le parametre "this".
etc ...


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 06-03-2008 à 19:50:53    

Citation :

Quelle est LA solution propre a utiliser selon vous ?


 
En AS2, la seule ligne de code dans un .fla c'est :
 

Code :
  1. Application.main();


 
Application étant une classe statique au choix.
 
A noter que tu n'as pas à appeler "en dur" des méthodes/propriétés d'une classe depuis une autre. On instaure un "loose coupling" par une utilisation judicieuse des interfaces et des événements, ou éventuellement (sale) en passant des instances en référence comme l'explique zedlefou.


Message édité par antika le 06-03-2008 à 19:53:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed