IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

event onRelease et loadMovie fonctionne une fois sur deux


Sujet :

Flash

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut event onRelease et loadMovie fonctionne une fois sur deux
    bonjour,
    je commence à me mettre plus sérieusement à Flash et l'Action Script et je voudrai réalisé une "visionneuse" toute simple.
    j'ai les liens de mes images dans un fichier xml que je récupère au début de mon appli.
    en cliquant sur les boutons gauche et droit je parcoure tout simplement mon xml, jusque là ça fonctionne et ma console m'affiche les bons liens. ce qui ne fonctionne pas, c'est le changement d'image. Je dois cliquer deux fois de suite pour que ça marche. une fois sur deux je n'ai pas d'image alors que le lien est bon.
    quelqu'un voit-il une explication? voilà mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    stop();
    //INITIALISATION
    i=0; //var i pour parcourir les index du xml
     
    //XML
    //on va chercher une première image à afficher dans le xml
    img_start=chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
     
    //MOVIE CLIP
    //on charge la photo dans le movieclip
    diapo_mc.loadMovie(img_start);
     
    //EVENTS
    //on crée un événement sur les boutons gauche et droit
    	//bouton droit
    right_bt.onPress=function(i){
    	i++;
    	img_new=chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
    	trace(img_new);
    	//on modifie l'image
    	diapo_mc.loadMovie(img_new);
    };
    merci pour votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    salut,
    déjà pour commencer, je pense qu'il serait plus simple que tu indexes d'un coup, au debut, dans un tableau tous tes liens pour charger les images.

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var NbreImagesTotal:Number = chargement_xml.firstChild.childNodes[0].childNodes.length;
     
    var ArrayLiensImages:Array = new Array(NbreImagesTotal);
     
    for (i=0; i<NbreImagesTotal, i++) {
       ArrayLiensImages[i] = chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
    }
    comme ca tu n'auras qu a naviguer dans ton tableau pour charger les images, via les liens contenus dans le tableau

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut
    merci pour ta réponse mais malheureusement le probleme reste le même, d'autant plus qu'il me semble que lorsque je charge le fichier xml dans mon objet chargement_xml, j'obtiens déjà un tableau.
    je poste le nouveau code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    //on va chercher une première image à afficher dans le xml
    var NbreImagesTotal = chargement_xml.firstChild.childNodes[1].childNodes.length;
     
    var ArrayLiensImages = new Array(NbreImagesTotal);
     
    for(i=0;i<NbreImagesTotal;i++){
       ArrayLiensImages[i]=chargement_xml.firstChild.childNodes[1].childNodes[i].attributes.link;
    }
     
    img_start=ArrayLiensImages[0];
     
    //on charge la photo dans le movieclip
    diapo_mc.loadMovie(img_start);
     
    //EVENTS
    //on crée un événement sur les boutons gauche et droite
    	//bouton droit
    right_bt.onRelease=function(){
    	a++;
    	img_new=ArrayLiensImages[a];
    	trace(img_new);
    	trace(a);
    	//on modifie l'image
    	_root.diapo_mc.loadMovie(ArrayLiensImages[a]);
    };
    please help

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    et si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    var NbreImagesTotal = chargement_xml.firstChild.childNodes[1].childNodes.length;
    
    var ArrayLiensImages = new Array(NbreImagesTotal);
    
    for(i=0;i<NbreImagesTotal;i++){
       ArrayLiensImages[i]=chargement_xml.firstChild.childNodes[1].childNodes[i].attributes.link;
    }
    
    var nNum:Number = 0;
    
    diapo_mc.loadMovie(ArrayLiensImages[nNum]);
    
    right_bt.onRelease = function () {
       nNum++;
       loadMovie(ArrayLiensImages[nNum], diapo_mc);
    };

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    Ca marche?
    Si oui, ca aurait été plutôt correct de dire un ptit merci, non ?

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut
    oui merci ça fonctionne, mais le problème ne venait pas du tout de là en fait. Ca bloquait plus tôt dans mon animation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien vers un fichier qui fonctionne une fois sur deux
    Par jmsch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/10/2011, 21h00
  2. Mean Shift fonctionne une fois sur deux
    Par killshout dans le forum OpenCV
    Réponses: 0
    Dernier message: 19/09/2011, 00h43
  3. Ajax fonctionne une fois sur deux
    Par guillaume40 dans le forum jQuery
    Réponses: 8
    Dernier message: 02/07/2010, 23h42
  4. Eclipse fonctionne une fois sur deux
    Par crocodile dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/10/2009, 12h39
  5. Expression Régulière fonctionne une fois sur deux
    Par KoRiGaN44 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/07/2008, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo