MovieClipLoader / onLoadInit [Résolu]

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- - Dernière réponse : 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);
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
3
Merci
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...)

@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Girou
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
3
Merci
Ca devrait être ca :

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

@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Girou
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
0
Merci
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);

@+
Commenter la réponse de cs_Girou
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
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)
Commenter la réponse de projer
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
0
Merci
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...

@+
Commenter la réponse de cs_Girou
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
Pas de problème pour ça, ça fonctionne impec, j'ai testé tous mes liens XML avant de me lancer là-dedans :)
Commenter la réponse de projer
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
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 :)
Commenter la réponse de projer
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
0
Merci
Donne un petit bout de ton xml...

@+
Commenter la réponse de cs_Girou
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
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>
Commenter la réponse de projer
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
Ok ça marche :)

Encore mille mercis pour le temps pris pour me répondre :)
Commenter la réponse de projer