Créer et redimensionner des Clips Dynamiquement
Bonjour,
Et bien j'ai trouvé nombre d'exemples expliquant la création dynamique de MClips, le chargement d'images via un XML ou le redimensionnement...
...mais je n'arrive pas à lier les 3 !!
Je voudrais charger des images dans 6 clips différents via un XML en les redimensionnant et en les positionnant.
J'ai essayé beaucoup de choses, celle-ci est celle que je trouve la plus correcte, mais seul le dernier clip est affiché, (alors que les clips sont créés et ajoutés à la liste d'affichage dans la boucle..!?),
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
package classes
{
import ...
public class interieur extends MovieClip
{
public static var chargementXML:URLLoader = new URLLoader();
public static var fichier:URLRequest=new URLRequest("ressources/diapoINT.xml");
public function interieur()
{
chargementXML.addEventListener( Event.COMPLETE, chargementComplet );
chargementXML.load( fichier );
function chargementComplet(e:Event):void
{
//CRÉATION DES TABLEAUX
var tabimg:Array=new Array();
var tabClip:Array=new Array();
//LECTURE DU XML
var programme:XML=new XML(e.target.data);
var artiste:XMLList=programme.elements();
for each(var prop:XML in artiste)
{
tabimg.push(prop.image);
}
for (var j:int=0; j<=5; j++)
{
var vignUrl:URLRequest=new URLRequest(tabimg[j]);
var vignChargeur:Loader = new Loader();
var nomClip:MovieClip = new MovieClip();
vignChargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
nomClip.name ="vignClip"+j;
vignChargeur.load(vignUrl);
}
function loaded(e:Event):void
{
vignChargeur.width = 150;
vignChargeur.height = 100;
nomClip.addChild(vignChargeur);
addChild(nomClip);
nomClip.x=150*j;
trace(nomClip.x);
}
}
}
}
} |
Merci d'avance pour votre aide, (c'est ici ma dernière tentative avant que j'en soit réduit à remette du code partout dans des clips !!
Je suis allé voir dans mon programme
Alors, comment avais-je fait pour charger n Movieclips dans un autre ?
Très simplement: le movieClip principal bouclait sur les n autres à créer, par exemple comme tu le fais sur base d'un fichier xml
Et pour ces n autres: j'ai créé une classe qui hérite de MovieClip et qui a tout pour charger elle-même l'image qu'elle devra afficher.
Le MovieClip principal n'avait plus qu'à passer l'image à charger à chacun de ses sous-Movieclips et appeler leur fonction "charge !"
Ensuite, chaque sous-MovieClip signalait au Movieclip parent qu'il était chargé par appel à une de ses fonctions... dans laquelle je faisais les derniers réglages.
Et ça marche très bien.
J'espère avoir pu t'aider.