Bonjour,
Je débute en AS3 et je dois créer une sorte d'AssetManager pour gérer le loading de différents asset (swf, image, sound, movieclip, xml etc..).
Je dispose d'un fichier .swf qui contient une image. J'ai créé ce .swf à partir de mon fichier .fla où dedans j'ai spécifié dans les propriétés de mon image:
classe de base : flash.display.BitmapData
(Pour information j'utilise flash professional CS5 pour la création de mon swf)
Lorsque je charge le .swf et que je veux accèder aux données de mon image, je suis censé recevoir un objet de type BitmapData.
Cependant, ce que j'obtiens n'est pas un BitmapData mais un MovieClip.
Je voulais savoir si c'était normal que je récupère un MovieClip? Ou alors est-ce que j'ai fait une erreur lors de la création de mon swf?
Voici le code qui traite les données extrait de mon .swf
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 override public function onComplete(data:*):void { if(data != null) { // Lorsque je récupère les données, directement, via une image. if(data is Bitmap) { original = data; super.onComplete(original); } else if(data is BitmapData) { original = new Bitmap(data); super.onComplete(original); } // Lorsque je récupère les données via un .swf else if(data is Loader) { var ad:ApplicationDomain = data.contentLoaderInfo.applicationDomain; if(ad != null) { if (ad.hasDefinition(uri.getPost())) { // Je suis censé rentrer ici... if( data.content is BitmapData) original = new (ad.getDefinition(uri.getPost()) as Class) as BitmapData; // Je vois pas pourquoi je récupère un MovieClip ici.... else if( data.content is MovieClip) { original = new (ad.getDefinition(uri.getPost()) as Class) as MovieClip; } if(original == null) { onFailed("This symbol: "+uri.getPost()+" doesn't exists in: "+uri.getPre()); return; } super.onComplete(original); } else onFailed("This symbol: "+uri.getPost()+" doesn't exists in: "+uri.getPre()); } else onFailed("The ApplicationDomain of the asset: " + getUri() + " is null"); } else onFailed("The data of the asset: " + getUri() + " are not a Bitmap's data or a Loader's data."); } else onFailed("The data of the asset: "+ getUri() + " are null."); }
Partager