Récuperer la taille d'un movieClip généré dynamiquement dans une boucle

way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 20 mars 2008 à 22:40
ozitoun Messages postés 115 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 25 mars 2008 - 25 mars 2008 à 08:55
Bonsoir,

Je construis une galerie photo à partir d'un fichier XML, après avoir parsé le xml et placé les noeuds dans un Array je lance une fonction qui va loader mes miniatures. Mon souci est que je n'arrive pas à récuperer la taille des movieClips créés dynamiquement dans la boucle; je voudrais pouvoir récupérer la largeur et la hauteur des ces instances afin de pouvoir programmer leur disposition (pour l'instant je les ai placés en prédéfinissant la position en _x et en _y), j'ai d'ailleurs besoin de pouvoir récupérer ces valeurs pour l'affichage de la photo "grande" afin de pouvoir la centrer dans son container...

voici le code de ma fonction :

Code :

function afficheImages2()
{
    for (var j:Number = 0; j < 12; j++)
    {
        //trace(monTableauSrc2[j]);
        var mc2:MovieClip = loader2_mc.createEmptyMovieClip("min2" + j, 1 + j);

        var minLoader2:MovieClipLoader = new MovieClipLoader();
        minLoader2.loadClip(monTableauSrc2[j].toString(),mc2);

        if (j >= 0 && j < 4)
        {

            mc2._x += (120 * j);
        }
        if (j >= 4 && j < 8)
        {

            mc2._x += (120 * (j - 4));
            mc2._y = 200;
                    }
        if (j >= 8 && j < 12)
        {
            mc2._x += (120 * (j - 8));
            mc2._y = 400;
        }

        var loaderListener2:Object = new Object();
        minLoader2.addListener(loaderListener2);

        loaderListener2.onLoadInit = function()
        {
            ajouteReflet2();
        };
    }
}

Quand j'essaye de tracer mc2._width ça me donne undefined ou 0 !

Merci d'avance pour votre aide !

4 réponses

ozitoun Messages postés 115 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 25 mars 2008
22 mars 2008 à 01:30
il faut que tu fasse ton trace("mc2._width") dans ta fonction et pas en dehors

Zitoun
0
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011
22 mars 2008 à 01:50
et bien j'ai testé ça et il me met 0 ???? j'ai mis le trace(mc2._width); juste avant les conditions if...
0
ozitoun Messages postés 115 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 25 mars 2008
22 mars 2008 à 14:16
S'il te met 0 c'est que au moment du trace, ta miniature n'est pas encore cahrgé

Zitoun
0
ozitoun Messages postés 115 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 25 mars 2008
25 mars 2008 à 08:55
Fais toi un listener

        loaderListener2.onLoadComplete = function()
        {
            mc2._width;
            mc2._height;
        };

Zitoun
0
Rejoignez-nous