MovieClipLoader / onLoadInit

Résolu
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 24 avril 2009 à 12:42
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 24 avril 2009 à 17:00
Bonjour!
J'essaye depuis hier de créer une newsletter dynamique avec importations d'info via XML.

Mon problème se situe au niveau du redimensionnement de la photo. J'ai bien regardé l'aide Flash et tout un tas de sujets de forum mais rien n'y fait, ma photo ne se redimensionne pas ou alors n'apparait pas :/

Ceci est le dernier code que j'ai essayé et qui me semble le meilleur mais il doit y avoir une subtilité qui m'échappe...
La photo n'apparait pas et apparement le onLoadInit ne fontionne pas car je n'ai pas les trace qui s'affichent.

voici mon code :

        //CREATION DU CLIP POUR LA PHOTO
        this.createEmptyMovieClip("o_mc_photo", 50);
       
        //redimensionement de la photo
        var ecouteur:Object = new Object();
        var monmcl:MovieClipLoader = new MovieClipLoader();
        monmcl.addListener(ecouteur);       
       
        ecouteur.onLoadInit = function(photo:MovieClip) {
            var coeff:Number=(Stage.height-o_txt_titre._height-o_txt_bas._height)/photo._height;
            photo._yscale = coeff;
            photo._xscale = coeff;
            trace(photo._height)
            trace(coeff);
            trace(photo._yscale);
            trace(photo._xscale);
        }
         monmcl.loadClip(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].childNodes[0], o_mc_photo);

10 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 16:16
Bon, je vois pas trop d'ou provient l'erreur alors...

Essaye de charger une image avec l'url 'en dur'

var o_mc_photo:MovieClip= this.createEmptyMovieClip("o_mc_photo", 50);
var monmcl:MovieClipLoader = new MovieClipLoader();  
monmcl.loadClip("chemin/vers/image.jpg", o_mc_photo);

L'image devrait se charger et s'afficher.
Si ce n'est pas le cas -> le chemin vers tes images est incorrect (probleme d'adrese relative, de majuscule/minuscule...)

@+
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 16:51
Ca devrait être ca :

monmcl.loadClip(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].nodeValue, o_mc_photo);

@+
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 15:24
Bonjour,

je pense que ton probleme vient du fait que tu apelles des variables qui n'existent pas
tu crée un clip nommé "o_mc_photo" et ensuite tu fais appel à la VARIABLE  o_mc_photo lorsque tu charges ton image
tu charge ton image dans 'undefiend' -> normal que cela ne déclanche pas le onLoadInit

Probablement que tu auras le même soucis pour o_text_titre et o_text_bas.
Soit tu les mets en variable (comme je le propose pour o_mc_photo), soit tu cibles correctement
monmcl.loadClip(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].childNodes[0], this.o_mc_photo);

var coeff:Number=(Stage.height- this.o_txt_titre._height-this.o_txt_bas._height)/photo._height;

//CREATION DU CLIP POUR LA PHOTO
       var o_mc_photo:MovieClip= this.createEmptyMovieClip("o_mc_photo", 50);
       var o_txt_titre: ??? = ???
        //redimensionement de la photo
        var ecouteur:Object = new Object();
        var monmcl:MovieClipLoader = new MovieClipLoader();  
       
        ecouteur.onLoadInit = function(photo:MovieClip) {
            var coeff:Number=(Stage.height- o_txt_titre._height-o_txt_bas._height)/photo._height;
            photo._yscale = coeff;
            photo._xscale = coeff;
            trace(photo._height)
            trace(coeff);
            trace(photo._yscale);
            trace(photo._xscale);
        }
         monmcl.addListener(ecouteur);   
         monmcl.loadClip(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].childNodes[0], o_mc_photo);

@+
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
24 avril 2009 à 15:38
En fait o_txt_titre et o_txt_bas sont des champs textes créés avant, j'ai omis de le préciser...
o_txt_titre._height et o_txt_bas._height renvoient bien les hauteurs des champs de texte.

En fait ma photo doit se positionner entre ces 2 champs de textes qui sont en autosize.

En fait, j'ai l'impression que mon écouteur ne fonctionne pas car je n'ai aucun trace du onLoadInit qui renvoi de valeur (même en mettant un trace("ok"), rien ne s'affiche)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 15:43
OK,

et trace(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].childNodes[0]) te renvoi bien l'url de l'image à charger ?
On sait jamais, une petite erreur de ciblage en xml est si vite arrivée...

@+
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
24 avril 2009 à 15:52
Pas de problème pour ça, ça fonctionne impec, j'ai testé tous mes liens XML avant de me lancer là-dedans :)
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
24 avril 2009 à 16:35
bon en effet, le problème vient bien du chargement de la photo, je ne sais pas pourquoi mais avec le trace il me renvoi bien image0.jpg

Mais en fait c'est le LoadClip qui n'interprête pas l'info donnée par ce que renvoi le XML.

mon_mcl.loadClip(fichier.firstChild.childNodes[numero_diapo].childNodes[1].childNodes[0].childNodes[0]+, o_mc_photo);

Normalement il lui faut "image0" et là on lui envoie image0 (sans les "") mais si je mets les guillemets dans mon XML, il  me trace ça : "image0.jpg"
Et forcément ça passe pas non plus...

comment donc faire pour que loadClip interprête bien le lien tiré du XML?

En tout cas merci pour l'aide, ça fait plaisir :)
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
24 avril 2009 à 16:39
Donne un petit bout de ton xml...

@+
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
24 avril 2009 à 16:43
XML :

<root>
    <diapo>
        <titre present= '1'>
            <texte>CECI EST LE TITRE DE LA DIAPO N°0</texte>
        </titre>           
        
             image0.jpg
        

       
        <texte present ='1' ordre='1'>
            <texte>Ici on trouve le texte qui va se mettre dans la zone droite ou gauche</texte>
        </texte>       
        <textebas present='1'>
         <texte>Ici on trouve le texte qui va se mettre dans la zone basse</texte>
        </textebas>
    </diapo>
...
</root>
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
24 avril 2009 à 17:00
Ok ça marche :)

Encore mille mercis pour le temps pris pour me répondre :)
0
Rejoignez-nous