Bonjour à tous.
Voila, je réalise actuellement un site web en flash, et sur chaque frames, j'ai une image d'arrière-plan différente.
J'ai pensé utiliser un MovieClipLoader pour ces images (il y en a 3), que je met à la toute premiere frame. Cette premiere frame est en fait une page qui indique le chargement du SWF. Dans mon écouteur.onLoadStart, je récupere la taille de chaques fichiers, et j'additionne tous les fichiers dans une même variable générale pour avoir la taille totale pour la durée du chargement (et ensuite je gere la progression dans l'evenement approprié)
Mon soucis, c'est que flash ne lance pas réellement les trois chargement à la suite (malgré que je met ces trois fichiers à la suite), donc la taille total varie, ca débute avec la taille du premier, puis la taille du deuxieme, puis le troisième, et ce durant le téléchargement du premier, ce qui veut dire que mon % fait quelque chose du genre 0, 10, 5, 2, 3, 4, 5, 6, ... vous comprenez ?
De plus, j'aimerai prendre en compte la taille du fichier swf lors du chargement, afin d'etre correct au niveau du pourcentage de chargement.
Le soucis, c'est que ces 3 images allant dans 3 frames différentes, j'utilise des emptyMovieClip et dans les différentes frames, je spécifie le _visible = bool pour afficher celle que je veux. N'y aurait-il pas une méthode plus simple pour dire "je met cette image sur la frame X, sur le calque "xxxxx" ?
Je suis ouvert à toute nouvelle proposition pour simplifier la démarche !
Merci beaucoup de votre aide !
Voici le code que j'utilise pour les images :
Merci pour votre aide
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51 stop(); var Bg1Len:Number = 0; var Bg2Len:Number = 0; var Bg3Len:Number = 0; var BgTotalLen:Number = 0; var BGListen:Object = new Object(); var BgroundMCL:MovieClipLoader = new MovieClipLoader(); this.createEmptyMovieClip("Background1", -16532); this.createEmptyMovieClip("Background2", -16531); this.createEmptyMovieClip("Background3", -16530); BgroundMCL.addListener(BGListen); BgroundMCL.addListener(BGListen); BgroundMCL.addListener(BGListen); BgroundMCL.loadClip("./images/zip.png", "Background1"); BgroundMCL.loadClip("./images/accueil-image.png", "Background2"); BgroundMCL.loadClip("./images/pages-image.png", "Background3"); BGListen.onLoadComplete = function(target_mc:MovieClip) { if (target_mc == _level0.Background1) { target_mc._visible = true; gotoAndPlay(1); } else { target_mc._visible = false; } }; BGListen.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void { var progression:Object = BgroundMCL.getProgress(target_mc); if (target_mc == _level0.Background1) Bg1Len = progression.bytesLoaded; else if (target_mc == _level0.Background2) Bg2Len = progression.bytesLoaded; else if (target_mc == _level0.Background3) Bg3Len = progression.bytesLoaded; var totalTmp = Bg1Len + Bg2Len + Bg3Len; if (totalTmp == BgTotalLen && totalTmp > 0) { trace ("load complete"); } } BGListen.onLoadStart = function(target_mc:MovieClip) { var progression:Object = BgroundMCL.getProgress(target_mc); BgTotalLen += progression.bytesTotal; trace (" ===== > " + BgTotalLen); }
Partager