Placer un Cliploader ?

Placer un Cliploader ? - Flash/ActionScript - Programmation

Marsh Posté le 18-03-2005 à 13:27:06    

Bonjour !
 
Voilà, j'aimerai savoir comment "placer" à l'écran quelque chose qu'on charge avec un movieclip loader ?
 
Typiquement dans mon cas, j'ai une barre d'outils qui fonctionne et qui a par exemple un bouton "Calculatrice" qui fait appel à calculatrice.swf par l'intermédiaire de la fonction chargerElement qui suit. Cette fonction chargerElement elle même cherche le chemin du swf à charger par l'intermédiaire d'un fichier XML
 
var dmcMovieClipLoader = new MovieClipLoader();
 
...
 
function chargerElement(nomElement:String, listeElements_XML:XML):Boolean {
 elementCourant_XML = rechercherXML(nomElement, listeElements_XML);
 
 
 if (elementCourant_XML != null) {
  _root.dmcMovieClipLoader.loadClip(elementCourant_XML.attributes.chemin, 2);
 }
 return (sceneCourante2_XML != null);
}
 
 
jusque là tout fonctionne mais j'ai toujours mes trucs chargés en (0,0)
alors j'ai tenté ça dans chargerElement :
 
with(dmcMovieClipLoader){
_x=500;
_y=0;
}
 
mais l'effet attendu a pas été le bon : il me décale toute ma barre d'outils sauf le swf ouvert qui reste en (0,0) :D
 
Bref, si qq'un a une idée je le remercie d'avance !  :hello:

Reply

Marsh Posté le 18-03-2005 à 13:27:06   

Reply

Marsh Posté le 18-03-2005 à 14:39:45    

MovieClipLoader n'est pas un movieClip ! donc tu peux faire des _x et _y autant que tu veux .. ça va pas le faire :p
C'est d'ailleurs pour ça qu'il déconne quand tu assignes _x et _y :
fais juste, à la place du with(dmcMovieClipLoader) :  
dmcMovieClipLoader._x = 500;
dmcMovieClipLoader._y = 0;
.. tu verras ce qu'il se passe à la compilation !
( ou rajoute un 'trace(this);' dans ton with(dmcMovieClipLoader) .. tu auras une belle surprise .. et du coup, tu comprendras pourquoi il déplace toute ton interface ! )
 
 
Conseils:
1) crée un clip vide avec (_root ou n'importe quel autre clip).createEmptyMovieClip(nom,depth) et utilise ce dernier comme target du loadClip() .. ça sera beaucoup plus simple !
2) va revoir la doc de MovieClipLoader et utilise les évènements !  
 
En gros:
frame 1:

Code :
  1. var myMCL:MovieClipLoader = new MovieClipLoader();
  2. var myMclListener:Object = new Object();
  3. myMclListener.onLoadComplete = function(target) {
  4. gotoAndPlay("clipLoaded" );
  5. }
  6. myMCL.addListener(myMclListener);
  7. _root.createEmptyMovieClip("cl_conteneur",1);
  8. myMCL.loadClip("MACHIN_TRUC.swf",_root.cl_conteneur);
  9. stop();


 
Frame2: libellée 'clipLoaded'

Code :
  1. // Ici, tu es CERTAIN que ton clip est chargé...
  2. _root.cl_conteneur._x = 100;
  3. _root.cl_conteneur._y = 100;
  4. stop();


Message édité par Mr Mala le 18-03-2005 à 15:00:04
Reply

Marsh Posté le 20-03-2005 à 13:30:26    

merci bien tout marche bien maintenant :hello:

Reply

Marsh Posté le 20-03-2005 à 14:16:25    

Heuuuuuuu ouais n'empêche, vas quand même revoir la doc de MovieClipLoader !
( d'ailleurs vas voir la doc de n'importe quoi avant de l'utiliser !!! )
 

Reply

Sujets relatifs:

Leave a Replay

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