Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > Intégration
Intégration Publication HTML, Communication javascript, Intégration de médias externes (Sons, Videos, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/06/2007, 16h58   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 0
Points : 0
Par défaut [FL8] MovieClipLoader et boucle

Bonjour à tous,

J'ai un problème qui me colle depuis quelques heures maintenant, malgré mes recherches et trouvailles sur plusieurs forums, je n'ai pas réussi à appliquer de solutions

En gros, je charge un XML contenant des liens sur des images dont la largeur est variable. J'aimerais les ajouter horizontalement l'une après les autres et je dois donc d'abord prendre la largeur et additioner.

Le problème est que ma boucle for n'attend pas la fin du chargement de mes images et donc mes valeurs sont complètement fausses.

Est-ce que quelqu'un verrait une solution? Merci d'avance à tous pour votre aide

Code :
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
38
39
40
41
42
43
44
45
46
47
var img_xml:XML = new XML();
img_xml.ignoreWhite = true;
img_xml.onLoad = LoadStar;
img_xml.load("images.xml");
 
/*variable thumbs*/
var thumbs_x:Number = 5;
var thumbs_y:Number = 5;
var thumbs_space:Number = 5;
var thumbs_clips:Array = new Array();
 
/*mask*/
this.createEmptyMovieClip("thumbs", 1);
 
/*fonction parse xml*/
function LoadImage() {
    racine = this.firstChild;
 
    /*nombre de thumbs*/
    img_number = this.firstChild.childNodes.length;
 
    for (i=0; i < img_number; i++) {
        img = racine.childNodes[i];
        img_id = star.childNodes[0].firstChild.nodeValue;
        img_img_tn = star.childNodes[1].firstChild.nodeValue;
 
        /*création des clips*/
        thumbs_clips[i] = thumbs.createEmptyMovieClip("mc" + i, i);
 
        /*loading des images*/
        thumbs_clips[i].createEmptyMovieClip("img", 1);
 
        var img_mcl:MovieClipLoader = new MovieClipLoader();
        img_mcl.addListener(mclListener);
        img_mcl.loadClip(img_img_tn, thumbs_clips[i].img);
 
        var mclListener:Object = new Object();
        mclListener.onLoadInit = function(target_mc:MovieClip) {
            var img_tn_width:Number = target_mc._width;
        };
 
        /*positionnement*/
        thumbs_clips[i]._y = thumbs_y;
        thumbs_clips[i]._x = i * (img_tn_width + thumbs_space) + thumbs_x;
 
    };
};
dmart84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 17h09   #2
Membre émérite
 
Avatar de thecaptain
 
Étudiant
Inscription : décembre 2003
Messages : 916
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2003
Messages : 916
Points : 898
Points : 898
Salut,

M'est avis que tu fais compliqué pour pas grand chose Je te simplifie tout ça :
Code :
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
var monXML:XML = new XML();
//attente du chargement, parsing, bla bla bla, ...
 
//hop tu te retrouves avec ton tableau d'url
var myPictures:Array = ...
 
var currentX:Number = 0;
var listener:Object = new Object();
listener.onLoadInit = function(trg:MovieClip):Void
{
    trg._x = currentX;
    currentX += trg._width+5;
}
 
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
 
//on lance le chargement
var cont:MovieClip = this.container; //container à image
var length:Number = myPictures.length;
for (var i:Number=0 ; i<length ; i++)
{
   var dp:Number = cont.getNextHighestDepth();
   var cl:MovieClip = cont.createEmptyMovieClip("picture"+dp, dp);
   loader.loadClip(myPictures[i], cl);
}
et comme ça tes images seront alignées horizontalement

@++
__________________
API ScrollBar (AS2)
Masapi (Massive Loading API) (AS3)
Lost in AStorm
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 17h53   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 0
Points : 0
hello,

merci de ta réponse

donc si je comprends bien, tu parse d'abord ton XML pour remplir un tableau contenant le lien des images, et ensuite tu charges chaque image et les place? juste?
dmart84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 14h41   #4
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 0
Points : 0
Quelqu'un pourrait-il m'aider un peu? Je tourne toujours en rond et je commence à devenir chauve

Merci d'avance
dmart84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h43.


 
 
 
 
Partenaires

Hébergement Web