Ecrire dans une variable d'un clip chargé (AS 3) [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2009
-
Messages postés
3
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2009
-
Bonjour tout le monde,

Comme indiqué dans le titre, j'aurais besoin d'écrire dans une variable d'un clip chargé. Je m'explique :
Le clip conteneur détient des données que je dois récupérer dans le clip chargé. Sachant qu'en  AS 3, on peut oublier les "root" et les "parent" qui ne fonctionne plus de la même manière. J'ai tout essayé et je m'arrache les cheveux sur ce simple problème. Même en "googélisant" la question, je n'ai trouvé aucune solution.

Pour résumé, il faudrait que je puisse soit, écrire dans une variable d'un clip chargé, soit récupérer les données du clip conteneur à partir du clip chargé.

Merci pour ceux qui m'aideront.

2 réponses

Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
2
  Salut;
On ne doit plus utiliser "root" et "parent" mais je pense que tu peux utiliser les variables globales, ou du moins les publiques
  voilà une piste, bonne continuation.
Messages postés
3
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
4 novembre 2009

Merci beaucoup ChasseuDeChimère. En effet, cela a solutionné mon problème.
Mais pour ceux qui risquent d'être confrontés à ce même problème, vous devez savoir que les variables globales ne se définissent, ni ne s'utilisent plus de la même manière qu'en As2.

Pour utiliser des variables globales en As3, vous devez impérativement passer par la programmation orientée objet, ce qui implique un fichier .as externe en + du .fla. Un exemple concret :

Dans le fichier "global.as" :
                package {

                                public class global {
                                public static  var language:String = "fr";
                                 public static  var currentVersion:String = "1.0a";
                               }
}

Dans le fhichier .fla :

import global;

trace(global.language);
trace(global.currentVersion);

global.language = "en";
global.currentVersion = "2.0";

trace(global.language);
trace(global.currentVersion);

Et voilà, le tour est joué :) .