2010-10-18 4 views
0

Problèmes d'accès à mes balises param dans ActionScript. Essentiellement j'ai l'étiquette suivante:ActionScript Access Param Tag dans un autre fichier

<param name="config" value="config" /> 

Mais je suis incapable d'y accéder. Il y a deux problèmes que j'ai, et j'ai cherché sur Internet haut et bas pour les réponses.

1) Comment accéder au paramètre? J'ai des gens qui disent utiliser _root.config, LoaderInfo (this.root.loaderInfo) .parameters ["config"], et juste config. Aucun travail, et la recherche de cette substance est si difficile parce que c'est générique. 2) Je suppose qu'une fois que je découvrirai comment accéder au param qui est passé, je vais avoir des problèmes avec l'accès à partir d'un autre fichier parce que j'ai lu quelque part pendant ma recherche que d'autres fichiers n'ont pas accès aux variables globales. Si c'est le cas, comment je fais ça? J'ai vu des _globals lancés plusieurs fois et certaines personnes disent que cela fonctionne, d'autres non.

Désolé si ce sont des questions très basiques, mais je suis un codeur PHP/.NET qui a dû mettre à jour un fichier actionscript, et ce n'est rien comme ce que je m'attendais.

Merci.

+0

Je pense que vous êtes aussi un peu confus, et que vous mélangez ActionScript 2 et 3. En règle générale, tout ce qui construit un trait de soulignement (_) est AS2. –

+0

Vous avez raison. Je suis très confus et essayant d'apprendre de tels articles spécifiques sont durs particulièrement quand as2 et as3 sont mélangés ensemble. – JohnathanKong

Répondre

0

Il semble qu'il y ait une confusion entre Flashvars & Paramètres Flash. Vous pouvez accéder à Flashvars dans votre code en utilisant loaderInfo.parameters, mais vous ne pourrez pas accéder aux paramètres Flash (pourquoi voudriez-vous le faire?)

Regardez l'exemple suivant pour voir la différence entre 2
http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000272.html

Les paramètres Flash définissent un ensemble de propriétés pour intégrer votre film dans une page HTML, tandis que les Flashvars sont des valeurs que vous souhaitez utiliser dans votre application. Après avoir chargé vos flashvars, il y a plusieurs façons d'y accéder à travers votre application, une solution simple (probablement pas la meilleure) serait de créer une classe Asset avec des variables statiques publiques.

 
public class Asset 
{ 
    public static var config:String; 
    public static var amount:int; 
} 

public class Main extends Sprite 
{ 
    public function Main 
    { 
     var params:Object = this.loaderInfo.parameters; 

     //set your Asset variables 
     Asset.config = params.config; 
     Asset.amount = params.amount; 

     //now that the values are set , you can use them 
     //across your app. See below... 

    } 
} 

public class Whatever 
{ 
     public function Whatever() 
     { 
      var amount:int = Asset.amount; 
     } 
} 
+0

J'ai lu ça, mais j'espérais qu'il y avait un moyen d'y accéder maintenant avec as3. Le client avec qui je travaille voulait le rendre plus propre, mais si c'est le cas, je suppose qu'il n'a pas d'autre choix. – JohnathanKong

+0

La seule chose qui n'est pas propre ici est l'utilisation de variables globales, il y a d'autres possibilités mais cela dépend de votre implémentation. – PatrickS

+0

Merci Patrick. J'ai décidé d'aller avec votre implémentation. Je suppose que je n'aimais pas le fait que je devais mettre une chaîne get dans une valeur. Un exemple extrême serait si j'avais 10 variables qui contenaient beaucoup de données, cela aurait l'air vraiment méchant. – JohnathanKong

Questions connexes