Problème dimensions d'un MovieClip en AS3

Signaler
Messages postés
5
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
8 février 2010
-
Messages postés
5
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
8 février 2010
-
Bonjour,
Je suis débutante en Flash et je suis entrain de faire un petit module comparatif des sociétés Nokia et Apple et le résultat visuel doit ressembler à l'exposition des 60 ans de la ratp :
http://www.ratp.fr/60ans/ . Je récupère mes données via un fichier xml. Pour l'instant je ne traite que les images.

Fichier xml :

<?xml version= "1.0" encoding="utf-8"?>
<moduleComparatif>
  <titre>Nokia et Apple</titre>
  <critere nom="debut">
    <media type="img">apple_debut.png</media>
    <media type="img">nokia_debut.png</media>
    <media type="img">general_debut.png</media>
  </critere>

  <critere nom="generalites">
     <media societe="Nokia" type="img">nokia1.jpg</media>
     <media societe="Nokia" type="text">Nokia  est un groupe finlandais n en 1966. C'est un conglomérat « touche à tout » jusqu&#8217;à 1992 où elle décide de se concentrer sur ses activités de télécommunication. Nokia est l&#8217;un des premiers constructeurs à proposer le Bluetooth. Elle développe le Symbian OS (Basé sur Linux) et le vend  à d'autres constructeurs (siemens, LG,&#8230;). En 2007, Nokia lance sa plate-forme OVI.</media>
    <media societe="Nokia" type="video">ovi_suite.flv</media>
    <media societe="Apple" type="img">apple1.jpg</media>
    <media societe="Apple" type="text">Apple Inc. est une société multinationale américaine née en 1976. Dédiée à l'informatique, elle devient célèbre pour Apple II (1977) et la gamme Macintosh (depuis 1984). En 2001 Apple se diversifie et s&#8217;oriente vers l'industrie des reproducteurs musicales, avec l&#8217;iPod. En 2003, elle lance la plate-forme iTunes Store. L'iPhone a été lancé en 2007, puis en 2008 l&#8217;AppStore.</media>
   <media societe="Apple" type="video">tour3.flv</media>
  </critere>
</moduleComparatif>


Et donc mon but est de récupérer les médias et de les balancer dans des movieclip. Donc je voulais générer dynamiquement les différents movieclip dans une boucle et ensuite les positionner sur la scène pour que ça fasse le même effet visuel que sur le site.

Voici mon code .as :
public function afficheImage()
{

for (i; i < list_images.length(); i++) 
{
var _receptacleImage:Loader  = new Loader();//receptacle pour l'image
var requete:URLRequest = new URLRequest("images/"+list_images[i]);

//J'aimerai avoir plusieurs mc pour chaque contenue
var mc:MovieClip = new MovieClip();

_receptacleImage.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);	
_receptacleImage.load(requete);
//trace (list_images[i]);	 

addChild(mc);
mc.addChild( _receptacleImage);

mc.x = 400*i;
mc.y = 230;

function loadComplete(evt:Event){
trace("width",_receptacleImage.content.width,"height",_receptacleImage.content.height);}
   }	
}


En gros :
- Je veux générer dynamiquement plusieurs mc
- Je veux savoir comment je peux récupérer les dimensions de chaque movieclip car avec ça trace("width",_receptacleImage.content.width,"height",_receptacleImage.content.height), je n'ai que les dimensions de la dernière image de mon xml et non les autres, et le trace est répété 7 fois soit le nombre d'images qu'il y a dans mon xml

J'espère que j'ai bien expliqué le problème.
Si quequ'un pourrait m'aider le plus vite possible, ce serait gentil.

Merci d'avance.
Iceteamango.

2 réponses

Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
3
Salut;
Je ne sais pas que si c'est exactement que tu cherche mais se sera au moins une piste pour régler ton problème :
En fait il s'agit de créer une classe qui effectura les opérations contenues dans ta boucle for, et d'y rajouter une variable (genre "id"); que tu renseigneras dans ta boucle et qui te permettra d'identifier les différents movieclip crées

public function afficheImage()
{

for (i; i < list_images.length(); i++) {
 var receptacle:TaClasse = new TaClasse(list_images[i]);
 receptacle.id = i;
 }	
}


ainsi tu pourras identifier chacun des "receptacle" grâce à la valeur de la variable "id" qu'il contient.

J'espère que ça te donne une piste pour régler ton problème.
Messages postés
5
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
8 février 2010

Merci pour ta réponse, ça ne répond pas totalement à mon problème mais ça peut m'aider. J'essaierai de voir comment ça va fonctionner.

A bientôt.