2009-09-17 10 views
0

J'ai besoin de définir diverses variables en fonction de ce que l'utilisateur clique. Ces variables doivent ensuite être accessibles par d'autres MovieClips. Le problème est qu'au moment du clic, ces "autres clips vidéo" n'existent pas encore sur la timeline. Ce que j'ai fait est d'assigner la variable au MovieClip parent, bien que je suppose que je pourrais aussi bien les mettre à la racine. Ensuite, j'attraperais cette valeur lorsque le clip concerné est lancé. Ce qui précède ne fonctionne pas - quelle est la bonne façon d'obtenir cette valeur chaque fois que j'en ai besoin. Je suppose que c'est un cas d'obtenir et de définir des variables globalesdéfinir et obtenir des variables dans moive - actionscript 3

+0

cela fonctionne plutôt bien pour remplacer la méthode _global dépréciée http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22997849.html – ed209

Répondre

0

Réponse copié à partir de:

http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22997849.html

avec AS3.0, le concept de variables _global ont été supprimées complètement. bien que, une classe externe peut être utilisée pour agir exactement AS2.0 _global

si vous l'implémentez correctement, vous devriez obtenir les résultats souhaités. voici les détails:

1. Créez une classe AS3.0 avec le nom "glo.as" et enregistrez-la dans le même dossier que FLA.

2. Copiez simplement l'actioncript suivant dans le fichier de classe "glo.as".

//////////// 
package 
{ 
     //Class will act as _global object of AS2 
     // Static variable "bal" of this class is going to store "varibales, instance's/object's referece to be used by any other class or displayObject/movieClip 
     // sample code to store a reference of a movieClip 
     // 
     // glo.bal.myMovie = this.new_mc; 
     // 
     // 
     public class glo 
     { 
      public static var bal:Object = new Object(); 
     } 
} 
////// 

3. Maintenant, il suffit de créer une variable globale partout en utilisant simplement "glo.bal" au lieu de "_global"

par exemple:

glo.bal.myGlobalVariable = 22; 

il sera accessible partout dans la portée de votre FLA et d'autres classes.


Crédit Aneesh Chopra http://www.experts-exchange.com/M_3631521.html

0

Vous pouvez utiliser les procurations pour prendre soin des valeurs alors que les objets sont encore inexistants. Ceux-ci n'auront besoin d'être notifiés que lorsque les MovieClips seront accessibles afin de les modifier avec les valeurs en attente.

Questions connexes