Commentaires Xml dans un diaporama avec fondu

Résolu
cs_titelle Messages postés 9 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 30 juillet 2008 - 14 mars 2008 à 14:55
alcorsica Messages postés 3 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 30 juillet 2008 - 30 juil. 2008 à 12:01
Salut,

J'ai trouvé un code qui correspond très bien à ce que je recherche :
http://www.flashkod.com/codes/DIAPORAMA-XML-AVEC-FONDU_41950.aspx

Mais (et oui sinon j'écrirai pas ici ! ^^) il me manque l'affichage de texte dynamique (dans le xml) en fonction de l'image affichée.
La question a été plusieurs fois posée dans les commentaires du code ci-dessus mais restée sans réponse.
Il me faudrait un affichage des commentaires en fondu comme l'image et au premier plan de l'image.
Sauriez-vous m'aider ? ;)

Je suis une totale noob' ^^' mais j'ai très envie d'apprendre (sauf que pas trop le temps non plus de tout reprendre à zéro) donc si vous avez des conseils/liens pour que je trouve par moi-même ça me va aussi ;)

Merci d'avance.




___________________________________________
Sait-on jamais où les vents nous mènent...

7 réponses

cs_titelle Messages postés 9 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 30 juillet 2008
18 mars 2008 à 11:48
Pour les personnes intéressées, voici comment j'ai fait :

Mon fichier xml :


<diapo>


    <liste nom='Liste images' comm='Liste des images.'>


       


       


       


       


    </liste>


   


        <random valeur='false' comm='Ordre des images'/>


        <time_start valeur='1000' comm='Tempo de démarrage'/>


        <time_between valeur='1500' comm='Tempo entre les images'/>


       


       


       


       


       


       


       


       


       


       


   




</diapo>




Mon .fla : (je remets tout le code ce sera plus simple)



[quote]//Création des variables


var images:Array = new Array();


var param:Array = new Array();


var imageActu:Number;


var imageNext:Number;


var annee:Date = new Date();


//Viariables des intervals


var interAlpha:Number;


var interImage:Number;


var interTest:Number;




//Temps de pause par défaut


var timeStart:Number = 1000;


var timeBetween:Number = 500;


//Variable pour la transition alpha


var val_alpha:Number = 0;


//Création des flags


var image1:Boolean = false;


var image2:Boolean = false;


var init:Boolean = true;




//MovieClip Conteneur1 - ImageActu


var conteneur1:MovieClip = _root.mycont.createEmptyMovieClip("conteneur1", 2);


var mclListener1:Object = new Object();


var mcl1:MovieClipLoader = new MovieClipLoader();


mcl1.addListener(mclListener1);




//MovieClip Conteneur2 - ImageNext


var conteneur2:MovieClip = _root.mycont.createEmptyMovieClip("conteneur2", 1);


var mclListener2:Object = new Object();


var mcl2:MovieClipLoader = new MovieClipLoader();


mcl2.addListener(mclListener2);   




//////////////////////////////////////////////


//


//Posistion initiale des images


var pos_img_X:Number = 0;


var pos_img_Y:Number = 0;




//Posistion initiale du titre


var pos_titre_X:Number = 0;


var pos_titre_Y:Number = 0;


//Posistion initiale du sous-titre


var pos_sstitre_X:Number = 0;


var pos_sstitre_Y:Number = 0;


//Posistion initiale de la chaine/heure


var pos_em_X:Number = 0;


var pos_em_Y:Number = 0;


//Posistion initiale des boutons chaines


var pos_ch_X:Number = 100;


var pos_ch_Y:Number = 6;




var txtFormat_titre:TextFormat = new TextFormat();


txtFormat_titre.font = "Arial";


txtFormat_titre.color = 0xFFFFFF;


txtFormat_titre.size = 22;


//txtFormat_titre.bold = true;




var txtFormat_sstitre:TextFormat = new TextFormat();


txtFormat_sstitre.font = "Arial";


txtFormat_sstitre.color = 0xFFFFFF;


txtFormat_sstitre.size = 16;




var txtFormat_lien:TextFormat = new TextFormat();


txtFormat_lien.font = "Arial";


txtFormat_lien.color = 0xFFFFFF;


txtFormat_lien.size = 12;


txtFormat_lien.bold = true;






//MovieClip Titre1


var conteneurTxt1:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt1", 3);


var txtComm1:TextField = conteneurTxt1.createTextField("txtComm1", this.getNextHighestDepth(), 0, 0, this._width, 100);


                                                        // nom, profondeur, X, Y, width, height


txtComm1.embedFonts = true;        // pour pouvoir faire des effects d'alpha sur un texte


                                                   


//MovieClip Titre2


var conteneurTxt2:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt2", 4);


var txtComm2:TextField = conteneurTxt2.createTextField("txtComm2", this.getNextHighestDepth(), 0, 0, this._width, 100);


txtComm2.embedFonts = true;




// Sous-titre1


var conteneurTxt3:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt3", 5);


var txtssTitre3:TextField = conteneurTxt3.createTextField("txtssTitre3", this.getNextHighestDepth(), 0, 0, this._width, 100);


txtssTitre3.embedFonts = true;


// Sous-titre2


var conteneurTxt4:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt4", 6);


var txtssTitre4:TextField = conteneurTxt4.createTextField("txtssTitre4", this.getNextHighestDepth(), 0, 0, this._width, 100);


txtssTitre4.embedFonts = true;




//Chaine/Heure1


var conteneurTxt5:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt5", 7);


var txtssTitre5:TextField = conteneurTxt5.createTextField("txtssTitre5", this.getNextHighestDepth(), 0, 0, this._width, 100);


txtssTitre5.embedFonts = true;


//Chaine/Heure2


var conteneurTxt6:MovieClip = _root.mytxtcont.createEmptyMovieClip("conteneurTxt6", 8);


var txtssTitre6:TextField = conteneurTxt6.createTextField("txtssTitre6", this.getNextHighestDepth(), 0, 0, this._width, 100);


txtssTitre6.embedFonts = true;




//


//////////////////////////////////////////////








//Chargement du fichier XML contenant la liste des photos


var diapo:XML = new XML();


diapo.ignoreWhite = true;


diapo.load("diapo.xml");


//Traitement une fois le chargement effectuer


diapo.onLoad = function(success:Boolean) {


    if(success){


        //Creation des noeud


        var noeudImage:XMLNode = this.firstChild.childNodes[0];


        var noeudParam:XMLNode = this.firstChild.childNodes[1];




        for (var i:Number = 0; i<noeudImage.childNodes.length; i++){


            var temp:Object = new Object();


            temp.img = noeudImage.childNodes[i].attributes.img;


            temp.titre = noeudImage.childNodes[i].attributes.titre;


            temp.sstitre = noeudImage.childNodes[i].attributes.sstitre;


            temp.emission = noeudImage.childNodes[i].attributes.emission;


            temp.toutsavoir = noeudImage.childNodes[i].attributes.toutsavoir;


            temp.voirba = noeudImage.childNodes[i].attributes.voirba;


            temp.voirphoto = noeudImage.childNodes[i].attributes.voirphoto;


            images.push(temp);


                    


        }


           


        for (var i:Number = 0; i<noeudParam.childNodes.length; i++){


            var temp:Object = new Object();


            temp.valeur = noeudParam.childNodes[i].attributes.valeur;


            temp.titre = noeudParam.childNodes[i].attributes.titre;


            param.push(temp);


        }


        imageInit();


       


    }


}








imageInit = function(){


    if((param[0].valeur == "true")|(param[0].valeur == undefined)){


        imageActu = randomNum(0, images.length-1);


        imageNext = randomNum(0, images.length-1);


        imageRandom();


    }else{


        imageActu = 0;


        imageNormal();


    }


    if(param[1].valeur != undefined){timeStart = param[1].valeur;}


    if(param[2].valeur != undefined){timeBetween = param[2].valeur;}


    if(param[3].valeur != undefined){pos_img_X = param[3].valeur;}


    if(param[4].valeur != undefined){pos_img_Y = param[4].valeur;}


    if(param[5].valeur != undefined){pos_titre_X = param[5].valeur;}


    if(param[6].valeur != undefined){pos_titre_Y = param[6].valeur;}


    if(param[7].valeur != undefined){pos_sstitre_X = param[7].valeur;}


    if(param[8].valeur != undefined){pos_sstitre_Y = param[8].valeur;}


    if(param[9].valeur != undefined){pos_em_X = param[9].valeur;}


    if(param[10].valeur != undefined){pos_em_Y = param[10].valeur;}


    position();


    mcl1.loadClip(images[imageActu].img, conteneur1);


    mcl2.loadClip(images[imageNext].img, conteneur2);


}




mclListener1.onLoadComplete = function(target:MovieClip):Void {


    image1 = true;


    if(init){


        if(image2){


        init = false;


        interImage = setInterval(_root,"imageSwap",timeStart);


        }


    }else{


        conteneur2.swapDepths(conteneur1);


        conteneurTxt2.swapDepths(conteneurTxt1);


        conteneurTxt4.swapDepths(conteneurTxt3);


        conteneurTxt6.swapDepths(conteneurTxt5);


        position();


        mcl2.loadClip(images[imageNext].img, conteneur2);


    }




    // Affichage du titre de l'image en cours


    txtComm1.text = images[imageActu].titre;


    txtComm1.setTextFormat(txtFormat_titre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


    // Affichage du sous-titre de l'image en cours


    txtssTitre3.text = images[imageActu].sstitre;


    txtssTitre3.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


    // Affichage de la chaine/heure de l'image en cours


    txtssTitre5.html = true;


    txtssTitre5.htmlText = images[imageActu].emission;


    txtssTitre5.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


    // Création des liens de l'image en cours


    myttsavoir.html = true;


    myttsavoir.htmlText = "+ Tout savoir sur...";


    myvoirba.html = true;


    myvoirba.htmlText = "+ Voir la bande annonce";


    myvoirphoto.html = true;


    myvoirphoto.htmlText = "+ Voir les photos";


    myttsavoir.setTextFormat(txtFormat_lien);


    myvoirba.setTextFormat(txtFormat_lien);


    myvoirphoto.setTextFormat(txtFormat_lien);


}




mclListener2.onLoadComplete = function(target:MovieClip):Void {


    image2 = true;


    if(init){


        if(image1){


        init = false;


        interImage = setInterval(_root,"imageSwap",timeStart);


        }


    }else{


        interImage = setInterval(_root,"imageSwap",timeBetween);


    }




    // Affichage du commentaire de l'image en cours


    txtComm2.text = images[imageActu].titre;


    txtComm2.setTextFormat(txtFormat_titre);    // idem...


    // Affichage du sous-titre de l'image en cours


    txtssTitre4.text = images[imageActu].sstitre;


    txtssTitre4.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


    // Affichage de la chaine/heure de l'image en cours


    txtssTitre6.html = true;


    txtssTitre6.htmlText = images[imageActu].emission;


    txtssTitre6.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


    // Création des liens de l'image en cours


    myttsavoir.html = true;


    myttsavoir.htmlText = "+ Tout savoir sur...";


    myvoirba.html = true;


    myvoirba.htmlText = "+ Voir la bande annonce";


    myvoirphoto.html = true;


    myvoirphoto.htmlText = "+ Voir les photos";


    myttsavoir.setTextFormat(txtFormat_lien);


    myvoirba.setTextFormat(txtFormat_lien);


    myvoirphoto.setTextFormat(txtFormat_lien);


}




imageSwap = function(){


    clearInterval(interImage);   


    interAlpha = setInterval(this,"imageAlpha",6);


}




imageAlpha = function(){


    if(val_alpha < 100){


       


        conteneur1._alpha = (100-val_alpha);


        conteneur2._alpha = val_alpha;


       


        // Ajout de la modification _alpha pour le CONTENEUR du textfield


        conteneurTxt1._alpha = (100-val_alpha)


        conteneurTxt2._alpha = val_alpha / 3; // descente plus rapide pour l'alpha du texte


        conteneurTxt3._alpha = (100-val_alpha)


        conteneurTxt4._alpha = val_alpha / 3;


        conteneurTxt5._alpha = (100-val_alpha)


        conteneurTxt6._alpha = val_alpha / 3;




        position();




        val_alpha += 1;


    }


    else{


        clearInterval(interAlpha);


        val_alpha = 0;


        imageActu = imageNext;


        if(param[0].valeur == "true"){


            imageRandom();


        }else{


            imageNormal();


        }


        conteneur1.swapDepths(conteneur2);


        conteneurTxt1.swapDepths(conteneurTxt2);


        conteneurTxt3.swapDepths(conteneurTxt4);


        conteneurTxt5.swapDepths(conteneurTxt6);


        conteneur1._alpha = 100;


        conteneurTxt1._alpha = 100;


        conteneurTxt3._alpha = 100;


        conteneurTxt5._alpha = 100;


        position();




        mcl1.loadClip(images[imageActu].img, conteneur1);


        txtComm1.text = images[imageActu].titre;


        txtComm1.setTextFormat(txtFormat_titre);    // idem...


        // Affichage du sous-titre de l'image en cours


        txtssTitre3.text = images[imageActu].sstitre;


        txtssTitre3.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


        // Affichage de la chaine/heure de l'image en cours


        txtssTitre5.html = true;


        txtssTitre5.htmlText = images[imageActu].emission;


        txtssTitre5.setTextFormat(txtFormat_sstitre); //on DOIT réappliquer le textFormat après chaque modification de texte sinon ca chie


        // Création des liens de l'image en cours


        myttsavoir.html = true;


        myttsavoir.htmlText = "+ Tout savoir sur...";


        myvoirba.html = true;


        myvoirba.htmlText = "+ Voir la bande annonce";


        myvoirphoto.html = true;


        myvoirphoto.htmlText = "+ Voir les photos";


        myttsavoir.setTextFormat(txtFormat_lien);


        myvoirba.setTextFormat(txtFormat_lien);


        myvoirphoto.setTextFormat(txtFormat_lien);


    }


}




position = function(){


        conteneur1._y = pos_img_Y;


        conteneur2._y = pos_img_Y;


        conteneurTxt1._x = pos_titre_X;


        conteneurTxt2._x = pos_titre_X;


        conteneurTxt1._y = pos_titre_Y;


        conteneurTxt2._y = pos_titre_Y;


        conteneurTxt3._x = pos_sstitre_X;


        conteneurTxt4._x = pos_sstitre_X;


        conteneurTxt3._y = pos_sstitre_Y;


        conteneurTxt4._y = pos_sstitre_Y;


        conteneurTxt5._x = pos_em_X;


        conteneurTxt6._x = pos_em_X;


        conteneurTxt5._y = pos_em_Y;


        conteneurTxt6._y = pos_em_Y;


}




imageRandom = function(){


    while(imageActu == imageNext){


        imageNext = randomNum(0, images.length-1);


    }


}




imageNormal = function(){


    if(imageActu == images.length-1){


        imageNext = 0;


    }else{


        imageNext = imageActu+1;


    }


}




randomNum = function(min:Number, max:Number):Number{


    var num:Number = Math.floor(Math.random() * (max - min + 1)) + min;


    return num;


}
/uote






________________________________________
Sait-on jamais où les vents nous mènent...
3
cs_titelle Messages postés 9 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 30 juillet 2008
18 mars 2008 à 11:53
Bouuuh... on peut pas éditer ses messages !

Bon alors mon code fonctionne bien à part que les fondus des textes sont pas super esthétiques...
Si quelqu'un arrive à bien les paramétrer, je suis preneuse







______________________________________________
Sait-on jamais où les vents nous mènent...
0
alcorsica Messages postés 3 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 09:46
Bonjour,
est-il possible d'avoir la source ?
Ton code m'interesse mais je ne reussi pas a le faire fonctionner.
Merci de ton aide
Cordialement
0
cs_titelle Messages postés 9 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 09:57
Salut,

Malheureusement, j'ai changé de taf et je n'ai plus les sources à disposition.
Désolée.




Sait-on jamais où les vents nous mènent...
0

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

Posez votre question
alcorsica Messages postés 3 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 10:03
Argh, c'est dommage...
Mais tu auras peut-etre une idée. Les commentaires et autres textes ne s'affichent pas. J'ai pourtant recopiée toute ta source ainsi que le xml, créé les clips mytxtcont et mycont, les images tournent bien. Mais aucun texte en vue.
Merci de ton aide.
0
cs_titelle Messages postés 9 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 10:20
Tes clips ne seraient-ils pas derrière les images ?

Mais sinon, j'ai plus du tout le nez dans flash depuis un bout de temps donc j'ai un peu de mal à t'aider, désolée.





Sait-on jamais où les vents nous mènent...
0
alcorsica Messages postés 3 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 12:01
re,
Non jai décale le clip mycont et ne vois toujours pas lombre dun mytxtcont.
Il ne tournerait pas quelque part en ligne ? Je peux peut-etre le decompiler, et voir les differences, car là... je séche.
Je c pas si c la version finale que tu as posté mais il y a deux instanciation qui se font sur des clips non créé :
_root.mycont.createEmptyMovieClip("conteneur1", 2);
...
_root.mytxtcont.createEmptyMovieClip("conteneurTxt1", 3);

...
Je les ai donc crée sur la scene, mais... Toujours aucun resultat.
Bref en tout cas merci de ton aide et pour ce diaporama, meme si j'enrage de ne pas reussir a l'utiliser, car il correspondrait parfaitement a mes besoins.
0
Rejoignez-nous