Bonjour à tous,
Je suis en train de créer un petit dessin animé. Un travail de longue haleine avec des centaines et des centaines d'image.
Flash n'acceptant pas d'important autant d'images sur un même document, j'ai fractionné le tout en 4 swf que je voudrais lire à la suite donc.
Le truc c'est qu'avec le code ci-dessous, Flash plante au bout d'un moment souvent au début de la lecture du 3e swf. Il bloque sur un écran blanc ou rouge, ça dépend. Je pense que cela vient de la mémoire qui surcharge et du garbage collector qui fait mal son boulot.
En gros j'ai un swf avec 4 images clé. Chaque image clé importe un swf enfant. Chaque swf enfant possède donc par exemple 500 images qu'il lit, et sur la dernière image il envoie l'info au swf parent de passer à image suivante, et ainsi de suite.
Voici mon code :
final001.swf , sur la dernière image après avoir lu toutes les images :
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 Swf parent : -1e image : var chargeur1:Loader=new Loader(); var adresse1:URLRequest=new URLRequest("final001.swf"); chargeur1.load(adresse1); addChild(chargeur1); stop(); - 2e image : removeChild(chargeur1); chargeur1 = null; System.gc(); var chargeur2:Loader=new Loader(); var adresse2:URLRequest=new URLRequest("final002.swf"); chargeur2.load(adresse2); addChild(chargeur2); stop(); 3e image : removeChild(chargeur2); chargeur2 = null; System.gc(); var chargeur3:Loader=new Loader(); var adresse3:URLRequest=new URLRequest("final003.swf"); chargeur3.load(adresse3); addChild(chargeur3); stop(); 4e image : removeChild(chargeur3); chargeur3 = null; System.gc(); var chargeur4:Loader=new Loader(); var adresse4:URLRequest=new URLRequest("final004.swf"); chargeur4.load(adresse4); addChild(chargeur4); stop();
final002.swf , sur la dernière image après avoir lu toutes les images :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var maMaintimeLine:MovieClip; var maMainTimeline = stage.getChildAt(0) as MovieClip; maMainTimeline.gotoAndPlay(2);
final003.swf , sur la dernière image après avoir lu toutes les images :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var maMaintimeLine:MovieClip; var maMainTimeline = stage.getChildAt(0) as MovieClip; maMainTimeline.gotoAndPlay(3);
Merci de me venir en aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var maMaintimeLine:MovieClip; var maMainTimeline = stage.getChildAt(0) as MovieClip; maMainTimeline.gotoAndPlay(4);![]()
Partager