Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: problème de niveau
Envoyé: 9 mai 2003, 9h51 par Oznog
La programmation orientée par objets est une façon de structurer le contenu de façon hiérarchique. Un peu comme des poupés russe. La plus grosse étant le "_root". L'idée est simple mais pas facile à comprendre d'un coup.
Pense à un arbre, en français "root" = racine.
L'arbre est dans ses feuilles, dans la branche, dans le tronc et dans les racine. Les feuilles sont comme une instance de movieClip à l'intérieur d'un autre lui même à l'intérieur d'un autre qui est sur la scène (root).
Donc, tout ce qui est sur la scène est sour le _root. _root.texte par exemple. Mais dès que tu met une instance qui peut en contenir d'autre, comme texte dans un movieClip. Ça devient _root.MonNouvelInstanceDeMovieClip.texte.
Ainsi en changeant un texte en movieCLip, c'est sûr que ton code ne fonctionne plus.
Dans le cas de "this" c'est autre chose. Il identifie l'objet lui-même. Il est utiliser justement pour éviter de predre la cible quand la structure du Flash est modifié. Il y en a d'autre comme "parent" qui identifie le parent (si tu as un movieClip sur la scène, son parent est le _root, ainsi _root et _parent sont la même chose dans ce cas).
Prenont l'exemple suivant.
J'ai un l'instance d'un movieCLip sur la scène, il a le nom "monInstance". Dans ce clip, j'ai le code suivant.
_root.monInstance.monTexte = "bla bla".
Si je déplace mon clip à l'intérieur d'un autre, je dois modifier le code de cette façon pour qu'il fonctionne.
_root.autreClip.monInstance.monTexte = "bla bla".
MAIS SI JAVAIS UTILISÉ THIS je n'aurais rien à changer .
this.monTexte = "bla bla".
Voilà un bon survole.
Ciao
Oznog
Réponses
|