begin process at 2012 02 10 13:12:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

relancer un diaporama XML sur un second XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

relancer un diaporama XML sur un second XML

lundi 29 juin 2009 à 15:51:53 | relancer un diaporama XML sur un second XML

vegetalain

Salut tout le monde... alors voilà, je suis dsl mais je ne sais plus où j'ai pris le code dont je vais vous parler :/ snif.
Le code suivant permet de charger un fichier xml contenant une liste d'images. Les dites images sont ensuite chargées successivement dans 2 clips superposés, et sont manipulés pour donner un effet de transition genre, "fondu enchainé"... très cool... ça marche bien, mais j'aimerais qu'en appuyant sur un bouton, on charge un autre fichier xml... et que donc, d'autres images défilent... voilà le code de départ, qui charge tout ça :

//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();
var interAlpha:Number;var interImage:Number;var interTest:Number;                //Viariables des intervals
var timeStart:Number = 1000;var timeBetween:Number = 500;                        //Temps de pause par défaut
var val_alpha:Number = 0;                                                        //Variable pour la transition alpha
var image1:Boolean = false;var image2:Boolean = false;var init:Boolean = true;    //Création des flags

//MovieClip Conteneur1
var mclListener1:Object = new Object();var mcl1:MovieClipLoader = new MovieClipLoader();mcl1.addListener(mclListener1);
//MovieClip Conteneur2
var mclListener2:Object = new Object();var mcl2:MovieClipLoader = new MovieClipLoader();mcl2.addListener(mclListener2);   
//Création d'un nouveau menu contextuel
var rootMenu = new ContextMenu();rootMenu.hideBuiltInItems();var rootMenuItem = new ContextMenuItem("© "+annee.getFullYear()+" ecranbleuxv.fr", email);
rootMenu.customItems.push(rootMenuItem);_root.menu = rootMenu;function email() {getURL("http://www.ecranbleuxv.com/sites/ecb/index.html", "_blank");}

var diapo:XML = new XML();
diapo.ignoreWhite = true;
diapo.load("upload/lesimagesMenu1.txt");
//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.titre = noeudImage.childNodes[i].attributes.titre;
            temp.comm = noeudImage.childNodes[i].attributes.comm;
            temp.xTxt = noeudImage.childNodes[i].attributes.xTxt;
            temp.yTxt = noeudImage.childNodes[i].attributes.yTxt;
            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.comm = noeudParam.childNodes[i].attributes.comm;
            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;}
    mcl1.loadClip(images[imageActu].titre, conteneur1);
    mcl2.loadClip(images[imageNext].titre, conteneur2);
}

mclListener1.onLoadComplete = function(target:MovieClip):Void {
    image1 = true;
    if(init){
        if(image2){
        init = false;
        interImage = setInterval(_root,"imageSwap",timeStart);
        }
    }else{
        conteneur2.swapDepths(conteneur1);
        mcl2.loadClip(images[imageNext].titre, conteneur2);
    }
}

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);
    }
}

imageSwap = function(){
clearInterval(interImage);interAlpha = setInterval(this,"imageAlpha",6);}

imageAlpha = function(){
    if(val_alpha < 100){
        conteneur1._alpha = (100-val_alpha);
        conteneur2._alpha = val_alpha;
        val_alpha += 1;
    }
    else{
        clearInterval(interAlpha);
        val_alpha = 0;
        imageActu = imageNext;
        if(param[0].valeur == "true"){
            imageRandom();
        }else{
            imageNormal();
        }
        conteneur1.swapDepths(conteneur2);
        conteneur1._alpha = 100;
        mcl1.loadClip(images[imageActu].titre, conteneur1);
    }
}

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;}


Un ligne spécifie le fichier xml à charger (je l'ai renommé en txt comme ça, mais ça ne gene en rien le flash...)
diapo.load("upload/lesimagesMenu1.txt");

il faudrait genre avoir ce genre de truc :

on (release) {
diapo.load("upload/lesimagesMenu2.txt");
}

Enfin lui donner une autre référence quoi...
Quelqu'un saurait ffaire de ce genre de truc, je me retrouve coincé de chez coincé là .

Merci de votre aide !!!!
lundi 29 juin 2009 à 19:18:13 | Re : relancer un diaporama XML sur un second XML

latour500

bonjour,

Je t'explique en gros comment je ferais moi sans m'occuper des boutons pour l'instant

le chargement de l'xml je le définirais en fonction du genre:

function Chargement_xml (Nom_du_fichier) <----- variable à passer dans ta fonction quand elle est appellée

{var diapo:XML = new XML();
diapo.ignoreWhite = true;
diapo.load(Nom_du_fichier);
.......

}

en faite la premiere fois tu appelles ta fonction de chargement xml comme ça -->
Nom_du_fichier = "upload/lesimagesMenu1.txt"
Chargement_xml ( Nom_du_fichier); <----- la fonction va être executée

puis quand t'appuis sur un bouton

Nom_du_fichier = "upload/lesimagesMenu2.txt"
Chargement_xml ( Nom_du_fichier); <----- la fonction va être executée

enfin de ce genre quoi, à verfier avec les variables comment ça se comporte evidemment puis
pour l'affichage mais ça te donne déja au moins une idée d'une méthode (il y en a certainement d'autre )


Bon courage
mardi 30 juin 2009 à 09:40:57 | Re : relancer un diaporama XML sur un second XML

vegetalain

Je pense avoir compris le principe, j'essais de me construire un exemple mais c pas évident :/, je zieute sur le net... à moins que tu n'ai un exemple fonctionnel?
mardi 30 juin 2009 à 09:50:53 | Re : relancer un diaporama XML sur un second XML

latour500

Bonjour,

Non je n'ai rien de fonctionnel, mais en cherchant un peu, je pense que tu vas y arrivé,
déja si tu sais faire des comportements par rapport à l'appui d'un bouton apres c pas
trop compliqué.

Monbouton.onRelease = function () {
Nom_du_fichier = "upload/lesimagesMenu2.txt"
Chargement_xml ( Nom_du_fichier);

}

Si t'a un soucis avec la variable Nom_du_fichier tu peux la passer en _global lors de la déclaration
si tu maitrise pas trop les 'function' essaye de chercher de comment ça marche, ça te permettra d'en créées par la suite tu verras c'est tres pratique.

Bon courage






mardi 30 juin 2009 à 10:33:17 | Re : relancer un diaporama XML sur un second XML

vegetalain

Merci de ton aide, je continue mes bidouilles pour arriver à un résultat qui tue :)...


Cette discussion est classée dans : images, function, var, number, if


Répondre à ce message

Sujets en rapport avec ce message

Lien sur image dans un diaporama flash ? [ par phobiahz ] Bonjour a tous !Voila j'ai le code d'un diaporama (fixe mais avec fondu entre les images) dont les images sont chargées dynamiquement a partir d'un fi aide pour un debutant [ par coreangel ] bonjour je vien de recup sur le site un diaporama (DIAPORAMA XML AVEC FONDU) de hiltonet j aimerai pouvoir lire des annime .swf mais je sais pas comme Source diaporama ne fonctionne pas [ par fredflash92 ] Bonjour,j'utilise le script suivant (que j'ai pris sur ce site)  qui gère un diaporama avec des fichiers images externes  listés dans un fichier XMLen loadMovie (); et XML [ par Orange73 ] Yop les gens !Bon voilà, j'ai une anim principal dans laquelle je fais appel à un swf externe qui contient un AS permettant de faire un diaporama imag diaporama avec importation aléatoire [ par JackNUMBER ] bonjour à tous !!j'ai trouvé 2 scripts que j'aimerai combiné.L'un sert à charger une image aléatoirement dans un MovieClip (qu'il créé) qui est conten galerie photo qui ne s'arrête pas... [ par amandaaa ] Bonjour,j'ai un petit souci avec la galerie photo de mon site internet.je suis débutante en action script donc je vous remercie d'avance pour votre ai diaporama loadmovie : SetInterval qui ne se vide pas [ par croco73 ] Bonsoir à tous et à toutes, J'appelle la communauté de flashkod en l'espoir que celle ci puisse m'aider. J'ai un site intégralement en AS2. le fichie pb positionnement [ par nicodogs ] Bonjour à tous, J'aimerais avoir vos lumières car je suis un peu perdu. J'ai une galerie style slideshow et j'ai quelques pb pour la paramètrer. Ce Besoin d'aide pour un novice [ par jussy ] Bonjour a tous et tout d'abord bonne année! Je suis nouveau ici et je galère pas mal avec flash en xml, j'ai recupéré un fichier fla avec un xml, j'ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales