begin process at 2012 05 26 15:57:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

AS3 probleme boucle dans une succession d'images avec le même mvt issues d'un XML


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

AS3 probleme boucle dans une succession d'images avec le même mvt issues d'un XML

mardi 11 août 2009 à 14:33:25 | AS3 probleme boucle dans une succession d'images avec le même mvt issues d'un XML

vandaleavalanche

Salut, j'ai l'habitude des animations flash non dynamiques je suis designer mais je suis un codeur as3 débutant :
je dois faire dans le cadre d'une animation dynamique, se succéder avec le même mouvement (dans un masque rectangulaire) un max de 18 images contenant 3 variables, issues d'un xml :
• url de l'image à afficher
• la légende de l'image
• un lien si on clique cette image

celui-ci est du type :
slideshow.xml
<data>
<maselection monimage="viewProductImage.jpg" malegende="Canapé 2 places ATTITUDE" monlien="http://www.unlien.com" />
etc...jusqu'a max 18 "maselecion"
</data>

je ne programme pas (pour l'instant, mais j'y viendrai) en orienté objet, et mon code doit être très crado et pas très sain j'en conviens...

sans boucle, lorsque je teste l'animation, le produit vient bien, les 2 tweens se passent okay, la légende vient et repart à la fin du 2nd tween avec un removeChild(texte) , et lorsque je trace les éléments du xml n½ud "maselection" tout s'affiche nickel dans le panneau de sortie, l'image est bien cliquable et pointe bien vers le lien en question

mais lorsque je boucle....là ç'est la mort...:

quand met un :
for (var i:uint = 0;i<fichierXML.children().length();i++) {
avant // creation loader & conteneur
&#8226;toutes les images arrivent en même temps et apparemment seule la dernière arrivée est active (lien url) et effectue mon mvt tween, ma variable de count m'affiche toujour =0

j'ai essayé plusieurs types de répetitions "for each", "while" do..while" et en englobant ou non la déclaration des variables urlphoto..lienphoto...legendephoto

mais rien n'y fait...

voici la version de mon code sans la boucle avec juste une variable "i" mise à 0 (cas présent) pouvant être une des 18 selections du xml:

Code ActionScript :


//Importation des classes

import flash.display.Shape;
import flash.filters.DropShadowFilter;
import fl.motion.Animator;
import fl.motion.MotionEvent;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;

// Chargement des données et déclenchement de l'écouteur du chargement des données

var fichierXML:XML;
var chargeurDonnees:URLLoader = new URLLoader();
var adresseFichierXML:URLRequest = new URLRequest("slideshow.xml");
chargeurDonnees.load(adresseFichierXML);
chargeurDonnees.addEventListener(Event.COMPLETE, animation);

// Fonction à exécuter à la fin du chargement des données XML

function animation(event:Event):void {
fichierXML = new XML(chargeurDonnees.data);

// compteur

var count:uint=0;

// tri du XML et boucle
var i:uint = 0;
var urlPhoto:String = new String(fichierXML.dlc_selection[i].@dlc_image);//url de l'image de la selection
var lienPhoto:String = new String(fichierXML.dlc_selection[i].@dlc_lien);//le lien quand on clique sur la selection
var legendePhoto:String = new String(fichierXML.dlc_selection[i].@dlc_legende);// la légende de la selection

// creation loader & conteneur
var adresseImage: URLRequest = new URLRequest (urlPhoto);
var chargeur: Loader = new Loader ();//chargeur photo
chargeur.load(adresseImage);
var conteneur: Sprite = new Sprite();//conteneur photo
addChild(conteneur);
conteneur.addChild(chargeur);
conteneur.buttonMode = true;
conteneur.x = 180;
conteneur.y = 22;

//masque rectangle arrondi dans lequel les produits se déplacent

var rectangle:Sprite = new Sprite();// masque
rectangle.graphics.beginFill(0x000000);
rectangle.graphics.drawRoundRect(33,23,119,117,7);
rectangle.graphics.endFill();
this.addChildAt(rectangle,6);
conteneur.mask = rectangle;

// creation et mise en forme de la legende

var texte: TextField = new TextField();
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.size = 10;
format.color = 0xffffff;
format.bold = true;
format.align = "center";
format.leading = -1;
format.letterSpacing = -1;
texte.defaultTextFormat = format;
texte.setTextFormat(format);
texte.text = (legendePhoto);
texte.x = 18;
texte.y = 140;
texte.width = 144;
texte.height = 35;
texte.wordWrap = true;
texte.multiline = true;

// l'image conteneur cliquable > lien vers la page concernée

conteneur.addEventListener(MouseEvent.CLICK,clickHandler);
function clickHandler(event:MouseEvent):void {
navigateToURL(new URLRequest(lienPhoto));
}
//mvt tween

var bouge1:Tween;
var bouge2:Tween;
bouge1=new Tween (conteneur,"x",Strong.easeInOut,180,32,50,false);
bouge1.addEventListener(TweenEvent.MOTION_FINISH, deplacer);

function deplacer(e:TweenEvent):void {
addChild(texte);
bouge2=new Tween (conteneur,"x",Strong.easeIn,32,-120,35,false);
bouge2.addEventListener(TweenEvent.MOTION_FINISH, fin);

function fin(e:TweenEvent):void {
removeChild(conteneur);
removeChild(texte);
trace("c'est fait");
count++;

}//fin mvt tween

// visualisations des noeuds dans le panneau de sortie

trace("url photo = " + urlPhoto + " --legende Photo = " + legendePhoto +" ----lien Photo = " + lienPhoto);
trace("compteur = " +count);
}
// <<<normalement ici je met l'accolade droite de la fin de ma boucle for
}//fin de la fonction animation



je pense que, soit :
&#8226; je place mal ma boucle
&#8226; je met le mauvais type de boucle
&#8226; je gère mal mes addchild et removechild
&#8226; tout ça en même temps
&#8226; je devrais me contenter de faire des belles anims Flash ou after effect en dur, et les refaire à chaque changement de sélections ;-)

quelqu'un a t'il une solution ?

mardi 11 août 2009 à 14:37:03 | Re : AS3 probleme boucle dans une succession d'images avec le même mvt issues d'un XML

vandaleavalanche

désolé dans mon message : &#8226; c'est une puce...



Cette discussion est classée dans : fin, boucle, tween, xml, mvt


Répondre à ce message

Sujets en rapport avec ce message

fin en boucle [ par ayhan_135 ] salut à tous,Je voudrais mettre une pause  à la fin de l'animation mais qu' un objet bouge encore en boucle.par ex: Des portes s'ouvrent au début de l comment attendre la fin de lecture d'unfichier xml avant de passer à la suite ? [ par Killan ] Bojour,je cherche à savoir comment attendre la fin de lecture d'un fichier xml avant de passer à l'image suivante.a moins que ça se fasse deja à la ba boucle diaporama panoramique [ par biloute73 ] Bonjour, j'ai réalisé un diaporama mettant en scene une vue panoramique. Lorsque l'utilisateur clique sur 2 boutons, il peut faire défiler l'image soi problème avec la classe XML [ par pomelo ] et bien j'utilise XML.load pour reprendre du XML évidemment mais je l'ai pas mit dans un setInterval mais plustôt dans une boucle fait en image flash Probleme de boucle sur un diaporama [ par hIGHpod ] Bonjours à tous,Voilà je suis débutant et tente de faire un diaporama photo sous flash, il y a 4 photos qui sont chargés via un XML. Les photos s'ench Boucle pour lire du XML [ par aurelienlopez ] Bonjour, j'ai un fichier XML qui se présente ainsi :     HJHY           INCIDENT sur A15        <Pert pb avec boucle while et xml.... [ par zguein84 ] Bonjour, Je cherche à réaliser une galerie photos dynamique en xml composée de 3 barres defilantes. Chaque barre correspond à un noeud du xml et donc pb avec boucle while et xml.... [ par zguein84 ] Bonjour, Je cherche à réaliser une galerie photos dynamique en xml composée de 3 barres defilantes. Chaque barre correspond à un noeud du xml et donc Boucle son sur sequence [ par fdurieu ] bonjour, j'ai beau cherche je ne trouve pas de solution... ça fait 2 jours que je me promène sur votre excellent site et rien... Voilà, j'ai créé une Boucle variable dynamique tween [ par mic1331 ] Bonjour a tous, je fais appelle a vos lumières car j'ai chercher sur pas mal de forum mais la solution n'ai toujours pas la bonne ! Donc je suis en as


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,920 sec (3)

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