Bonjour,
J'ai un petit problème de visibilité de variable dans une class.
J'ai donc une class Diaporama dans laquelle j'ai une fonction AllerADroite() qui me permet de faire défiler mes diapositives.
Voici donc la partie du code qui nous interresse:
Le problème, comme marqué dans les commentaires, est que dans SuivantPress on ne voit ni les variables ni les fonctions de la class Diaporama.
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
21
22
23
24
25
26
27 class Diaporama{ var Suivant: MovieClip; function AllerADroite(){ trace('AllerADroite '); } //------------------------------------------ function SuivantPress() { //! On entre dans une fonction qui n'est pas considéré comme faisant partie // de l'ojbet diapo donc qui ne connait pas les autre fonction trace('Suivant '+Suivant); // --> Affiche undefined trace(AllerADroite); //--> Affiche undefined AllerADroite(); //qui n'est donc pas appelé trace('typeof(this) '+typeof(this)); //--> Affiche MovieClip trace('this '+(MovieClip(this))._parent); //Sans cast this ne connait pas _parent ! }; //------------------------------------------------------ function AffecteEvenements(){ Suivant.Fleche.onPress = SuivantPress; } } //// Dans mon fichier .fla var diapo : Diaporama = new Diaporama; diapo.Suivant = ClipSuivant; //CLipSuivant est posé sur la scene à la conception diapo.AffecteEvenements();
Et comme j'ai plusieurs instance du Diaporama sur la scene je crois qu'on peut oublier les variables static.
Si quelqu'un sait pourquoi, ou sait comment contourner le problème ...
Merci
Partager