IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

probleme passage variables swf externe


Sujet :

ActionScript 3

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 82
    Points : 43
    Points
    43
    Par défaut probleme passage variables swf externe
    Bonjour,

    Je code en AS3 (procédural) depuis 2ans et je me lance dans la POO.
    Je rencontre un soucis sur la création de mes classes.

    Voici le problème rencontré:

    Je charge des swf en boucle dans différents conteneurs de mon swf parent
    Je passe (tente de passer) des id à ces swf child.
    Or seul le dernier id de ma boucle est passé en paramètre.
    Je ne comprends pas pourquoi.

    Voici quelques lignes de code:

    Class Main
    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
     
    public class Main extends MovieClip 
    	{
    		public var conteneurSwf:ChargerSwf;
    		public var mediaId:Object = {sarennes:"71", rgb2100:"21", signal:"90", marmottes2g2:"70", marmottes2g1:"69", ambre2700:"128", ambre3060:"129", ambre3330:"64", marmottes:"167", dmcg1:"170", romains:"168", alpauris:"169"};
    		public var idMediaRgb:String;
     
    		public function Main() 
    		{
     
    			for each(var media:MovieClip in plan.rgb)
    			{
    				idMediaRgb = mediaId[media.name.toString()]; //id pour le swf child
    				conteneurSwf = new ChargerSwf('msgLwRgb.swf', 0);
    				media.addChild(conteneurSwf);
    			}
     
    		}
     
            }
    Class ChargerSwf:
    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
     
    public class ChargerSwf extends Sprite 
    	{
    		private var chargeur:Loader;
    		private var adresseSwf:URLRequest;
     
    		public function ChargerSwf(nomSwf:String, xPos:Number) 
    		{
    			adresseSwf = new URLRequest(nomSwf);
    			chargeur = new Loader();
    			chargeur.load(adresseSwf);
    			chargeur.x = xPos;
    			addChild(chargeur);
    		}
     
     
    	}
    Dans les swf chargé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var id:String;
     
    try
    {
    	// on récupère la variable id du swf appelant
    	id= this.parent.root["idMediaRgb"];
    }
    Je récupère ici (en faisant un trace), uniquement l'id du dernier foreach.

    Qq'un aurait-il une idée.

    Merci beaucoup.

  2. #2
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Pour passer des variables à des swf externes, tu devrais utiliser de la diffusion d'évènements.

    Les framework PureMVC et Pixlib te faciliteront la tâche.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 67
    Points
    67
    Par défaut
    Ben c'est normal. Tu fais une boucle où tu passe tout tes id et lance tes chargements. Les chargements commencent à coté dans un autre thread et pour ton code ca commencera au plus tôt à la prochaine image. C'est à dire une fois que ta boucle sera finie.

    Vu que tu charge tes objets dans des levels différents, tu peut utiliser le level de chaque objet pour charger le texte correspondant. Genre :
    dans le root
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    textes=["aaa","bbb",....]
    //
    for(i=0;i<20;i++){
       //nom_swf, level
       charger("machin.swf",i)
    }
    puis dans chaque clip

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.texte=parent.textes[this.level];

Discussions similaires

  1. [1.x] probleme passage variable dans le même module
    Par suiton dans le forum Symfony
    Réponses: 5
    Dernier message: 17/08/2010, 20h43
  2. Réponses: 15
    Dernier message: 10/04/2009, 18h11
  3. Probleme passage variable
    Par fmorel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/01/2008, 01h24
  4. probleme avec une variable globle externe...
    Par bountykiller dans le forum C++
    Réponses: 3
    Dernier message: 11/03/2006, 14h26
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo