Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Flash/Flex
Flash/Flex Forum d'entraide sur les technologies Flash et Flex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/02/2012, 14h28   #1
Gollum02
Invité régulier
 
Inscription : juillet 2005
Messages : 17
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 17
Points : 8
Points : 8
Par défaut Affecter dimension d'une image chargée à son clip

Bonjour,
Je vous explique ma volonté , j'aimerais charger une image dans un clip . Le chargement de l'image dans le clip est fonctionnel , cependant mon clip a des dimensions nulles c'est à dire que si je fais

J'obtiens 0 dans le sortie de flash cs5.5

J'aimerais pouvoir affecter à clip.width et clip.height les dimensions de l'image chargée pour pouvoir l'animer (le clip) par la suite .
Voila mon code (des indications dans les commentaires)



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
 
 
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
 
 
 
var _chargeur:Loader = new Loader();
var clip:MovieClip = new MovieClip();
 
function chargeurImage(fichier){
_chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_chargeur.load(new URLRequest(fichier));
}
 
function onComplete(evt:Event){
var image:Bitmap = Bitmap(_chargeur.content);
var bitmap:BitmapData = image.bitmapData;
//clip.addChild(evt.currentTarget.content);
clip.addChild(image);
clip.width=image.width;
clip.height=image.height;
// si je fais trace(clip.height); ici , ça fonctionne j'obtiens bien la dimension de l'image chargée
}
 
chargeurImage("rouge.gif");
addChild(clip);
// si je fais trace(clip.height); ici , ça fonctionne pas j'obtiens 0



En espérant avoir été assez clair , merci par avance de votre aide
Gollum02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2012, 17h26   #2
Pourcentage
Membre du Club
 
Homme
Développeur informatique
Inscription : décembre 2009
Messages : 40
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2009
Messages : 40
Points : 69
Points : 69
Bonjour,

Cela ne fonctionne pas comme vous le souhaitez car votre trace() est effectué alors que l'image n'est pas encore chargée. Elle n'a donc pas de taille.

Il ne faut pas oublier que le chargement de fichiers en Flash est une opération asynchrone donc dans ce cas là
Code :
1
2
3
chargeurImage("rouge.gif");
addChild(clip);
trace(clip.height); // ici , ça fonctionne pas j'obtiens 0
le chargement de l'image va être effectué en parallèle de l'appel à addChild(clip) et à trace(clip.height). Puisque l'image n'est pas encore chargée, il est normal que sa taille soit 0.

C'est pour cela d'ailleurs que le trace fonctionne correctement dans onComplete() car cette fonction permet de s'assurer que l'image est chargée.
Pourcentage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2012, 12h42   #3
Gollum02
Invité régulier
 
Inscription : juillet 2005
Messages : 17
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 17
Points : 8
Points : 8
Merci de ton aide et de l'explication Pourcentage
Gollum02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h36.


 
 
 
 
Partenaires

Hébergement Web