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 :

[FLASH 8] Chargement d'images via XML (tjs et encore)


Sujet :

Flash

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut [FLASH 8] Chargement d'images via XML (tjs et encore)
    Bonjour je cherche à charger des fichiers dont le chemin est connu dans un attribut d'un fichier XML

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sliderXML.load(loadcat);
    		sliderXML.onLoad = function(success) {
    		catab = sliderXML.firstChild.childNodes;
    			for(i = 0; i < catab.length; i++){
    				_root.text2.text += catab[i].attributes.Name+"\n";
    				_root.text2.text += catab[i].attributes.File+"\n";
    				// cree un clip vide conteneur
    				conteneur = this.createEmptyMovieClip("conteneur"+i, 100*i);
    				// on charge dans conteneur l'image
    				conteneur.loadMovie(catab[i].attributes.File);
    			}
    les deux premières lignes après le "for" servent uniquement à faire du débuguage.

    Et pou info, j'ai cherché pas mal sur le net, mais je capte pas pourquoi mon MovieClip ne se crée pas et pourquoi je n'arrive pas à charger des imaes jpg, gif ou png dans celui ci !!!

    En espèrant que vous pourrez m'aider, "Desepereusement" votre ... ;-)

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    dans ton code, ton this est égal à sliderXML
    du coup, le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.createEmptyMovieClip("conteneur"+i, 100*i);
    ne marche forcement pas

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    oki donc il faut que je mette root obligatoirement ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    oki avec le _root.createMovieClip ca marche effectivement mieux.

    Par contre seulement la première image est chargée et est affichée... ALors que j'ai plus d'une node XML avec donc plusieurs attributs noms de fichier ...

    Comment faire pour que les images se chargent sous forme de "slider" ou je puisse naviguer facilement entre les images et pouvoir cliquer dessus afin de les charger dans un autre swf ?

    Autre détail, le contenu de ce slider doit évoluer en fonction d'une combobox, ce qui veut dire que mon MovieCLip doit permettre de charger les fichiers contenus dans un autre fichier en remplacant ceux à l'écran dès sélection différente sur la combobox...

    JE ne vois pas du tout comment faire...

  5. #5
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Non pas obligatoirement (Ouf )
    rajoutes au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var self:MovieClip= this;
    puis tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.createEmptyMovieClip(...
    Il pense combien de fois dans ta boucle ? Est-ce que les autres photos ne sont pas dessous ?

    J'ai pas compris cmt tu voulais naviguer
    Pourr cliquer dessus, un onRelease sur tes clip et le tour est joué.
    Pour tes combo, creés des clips contenaur que tu ecraseras/détruiras quand tu changeras de sélection

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Bon alors pour te donner un exemple concret, je vais te montrer un "slider" d'images comme je les aime...
    http://www.spreadshirt.net/shop.php

    Regarde le module de chargement des articles à gauche, je souhaite faire un truc du même style pour mon appli...

    Pour le onrelease, je viens de découvrir cette fonctionnalité ! Mais pour l'écrasement de mes movieclip je vois pas trop comment faire ...

    Merci pour tes conseils !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    personne n'a d'idée pour coller avec le lien que j'ai donné ?

    parce que la franchement je galère sur les movieclip à fond avec leur différentation lors de la création et leur positionnement...

    Il n'y a pas un moyen simple dans Flash de positionner des images ???? Parce que là pour moi ca me parait vraiment lourd l'AS après PHP...

  8. #8
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    je ne sais pas si je suis neuneu mais l'URL que tu nous as donné pointe sur une page avec login password, on peut rien voir du tout.

    Par contre coté chargement d'images dans un movieClip il faut savoir (mais j'ai peut être pas bien compris ton problème) que tu ne peux charger qu'une image par movieClip, si tu veux charger 10 images il faut faire une boucle genre mon_movie[i] et avoir autant de clips que d'images ensuite tu les manipules comme tu veux.

    on va y arriver c'est sur !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    oki cool pour ta réponse dom_dev
    je viens de tester mais ca ne marche pas, peut être ai je mal compris...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sliderXML.load(loadcat);
    		sliderXML.onLoad = function(success) {
    		catab = sliderXML.firstChild.childNodes;
    			for(j = 0; j < catab.length; j++){
    				_root.text2.text += catab[j].attributes.Name+"\n";
    				_root.text2.text += catab[j].attributes.File+"\n";
    				conteneur[j] = _root.createEmptyMovieClip("conteneur"+[j], j);
    				conteneur[j].loadMovie(catab[j].attributes.File); 
    				}
    		}
    Résultat de déboguer>lister les variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Clip: Cible="_level0.conteneur0"
    Clip: Cible="_level0.conteneur1"

    pour le lien que je t'ai filé, il faut juste faire F5 pour actualiser la page c'est à cause du sessid de PHP...

    j'essaie en fait de réaliser une application similaire dans le cadre d'un stage afin de débuter Flash qui m'intéresse fortement... mais il est vrai que pour l'instant je comprends pas grand chose à AS... comme tu dis ca va venir !

  10. #10
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    un xml avec les urls de toutes tes images
    Tu crées un clip vide
    Dedans tu crées un clip vide qui accueillera tes images, tu crées un uatre clip qui servira de masque à la fenetre d'affichage.
    Une boucle pour créer des images que tu positionne les unes à la suite des autres (i+largeur image)
    Tu conserves dans un tableau les ref à tes images
    Tu décales ton clip qui contient tes photos pour que la photo au milieu de tableau soit affichée. (tonclip._x -= Math.floor(tableau.length/2)*largueurPhoto ca doit etre un truc qui ressemble à ça)
    Tu crées 2 boutons.
    Sur le onRelease du bouton de gauche (ce sera l'inverse pour celui de droite) , tu décales toutes toutes images sur la droite. Tu replaces l'image qui se trouve à l'extreme droite, à l'extreme gauche.
    Tu retires le dernier element de ton tableau que tu ajoutes au debut.
    Pour les effets de rebonds sur le déplacement, regarde du coté des tweens.

    Voilà, des idées comme elles me viennent

    @dom_dev, retourne sur la page principale, choisis francais puis cliques sur maillot de sport e nbas à gauche, je pense que c'est ça

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    merci pour les idées freegreg, je m'en vais de ce pas faire des essais, mais comme tu vois sur mon post 'et oui il suffit d'une minute), j'arrive à créer les divers movieclips, mais je n'arrive pas à les placer, ni à les remplir...

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Bon je viens de réussir à faire qq chose de pas mal, mais il me manque deux ou trois que je n'arrive pas à faire... Si vous zavez une idée

    Voici mon code commenté 8) pour ceux que ca intéresse qui crée les movieclips d'images et en même temps supprime si il y a des moviesclips existants :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    //initialisation du xml pour le slider
    sliderXML = new XML();
    sliderXML.ignoreWhite = true;
     
    var listenerObject:Object = new Object();
    listenerObject.change = function(eventObject:Object) {
    		var cat = _root.liste.selectedItem.label;
    		var loadcat = "liste_"+cat+".xml"; //on met le nom du fichier article à charger
     
    		for(j=0; j<=oldnumber; j++){
    			_root["article"+j].removeMovieClip(); //si oldnumber>0, on supprime les movieclip existants
    			}
    		sliderXML.load(loadcat); // on charge le fichier XML contenant les références articles
    		sliderXML.onLoad = function(success) {
    		catab = sliderXML.firstChild.childNodes; // on affecte les Nodes du XML à un tableau de catégories
     
    		for(i = 0; i < catab.length; i++){
    			var file = catab[i].attributes.File //recupére le nom du fichier
    			//trace(file);
    			_root.createEmptyMovieClip("article"+i, i+10);// Création d'un clip vide:
    			_root["article"+i].loadMovie(file); //charge le jpg dans ce clip jusque la vide
    			_root["article"+i]._xscale = _root["article"+i]._yscale /= 10; /* on réduit l'image par 10 afin de créer des miniatures*/
    			}
    			// Déplacement et redimensionnement du clip conteneur:
    			var colonne = 0; //j'initialise le nombre de colonne
    			var ligne = 0; //j'initialise le nombre de ligne
    			for (i=0; i<catab.length; i++) {
    				//maintenant on dispose les images à partir de x=0 et y=0
    			_root["article"+i]._x = colonne*60;
    			_root["article"+i]._y = ligne*60;
    			ligne++;
    			}
     
    		oldnumber = catab.length;
    		}
    };
    Voila cela me permet d'afficher les images sous forme de colonne !!!

    Par contre, je n'arrive pas à positionner mon 1er movie clip "article1" avec un offset pour que celui se décale à l'endroit souhaité (pour l'instant il s'affiche en haut). J'ai essayé d'initialiser mes variables colonne et ligne, mais cela me fait changer mon système de positionnement du suivant... C'est sans fin...

    Ensuite, je voudrais que lorsque l'utilisateur clique sur un article (évt onRelease() je suppose ???), il puisse envoyer "un message" ou une variable à un autre fichier swf contenu dans ma page web ! Est ce possible sous Flash ??

    Merci à tous pour votre aide, je commence à aimer Flash et AS grâce à vous

  13. #13
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    hi,
    la classe Tween est semble-t-il une classe propriétaire il faut l'acheter non ??

  14. #14
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Non non elle est contenue dans Flash 8
    Dans Flash MX2004 aussi d'ailleurs, mais non documentée cette fois

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Personne pour m'aider sur le positionnement de mon movie clip ???

    Autre petite question, est ce possible d'utiliser un movieclip qui englobe lui même les movieclips contenant les jpeg ? car comme je disais au début, je souhaiterais faire un slider d'images... avec scrollbar, encadrement et tout et tout

    Merci d'avance pour votre aide. Promis après ca je mets le tag 'résolu' et je change de topic

  16. #16
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    hi,
    j'arrive pas bien à comprendre ton problème de positionnement :
    dans la première itération de ta boucle
    article0 x= 0 y=0
    dans la deuxième itération comme tu ne met à jour que "ligne" ça donne:
    article1 x=0 et y=60
    ensuite
    article3 x=0 y=120
    etc.
    Qu'est ce qui cloche dans ce processus ??

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    en fait merci , j'ai trouvé une petite astuce dans mon code, mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Déplacement et redimensionnement du clip conteneur:
    			var colonne = 1; //j'initialise le nombre de colonne
    			var ligne = 1; //j'initialise le nombre de ligne
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Déplacement et redimensionnement du clip conteneur:
    			var colonne = 0; //j'initialise le nombre de colonne
    			var ligne = 0; //j'initialise le nombre de ligne
    Voila, allez je balance mon tag résolu ...

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    oups j'vaias pas vu ta réponse dom_dev, j'ai du boire trop de café ce matin

    mon problème de positionnement venait du fait que mes movieclip s'affichait en haut à gauche dans le coin et que je trouvais pas ca joli... étant donné que j'ai une combobox à cet endroit !

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

Discussions similaires

  1. [FLASH 8] Chargement d'images
    Par magic.goby dans le forum Flash
    Réponses: 11
    Dernier message: 24/05/2006, 14h51
  2. [FLASH 8] Chargement d'images via XML.
    Par Begood dans le forum Flash
    Réponses: 1
    Dernier message: 01/03/2006, 11h32
  3. Réponses: 2
    Dernier message: 02/02/2006, 09h56
  4. [FLASH 8] Chargement des images d'un repertoire
    Par PrinceMaster77 dans le forum Flash
    Réponses: 1
    Dernier message: 18/01/2006, 20h30
  5. Réponses: 21
    Dernier message: 29/04/2004, 15h45

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