|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : décembre 2007 Messages : 1 ![]() |
Bonjour à tous !
Je pratique depuis longtemps l'AS2.0, et je viens de passer en AS3.0, qui est vraiment beaucoup mieux ! Mais bon j'ai quelques soucis de "traduction". En effet, meme apres beaucoup de recherche, je n'arrive pas à acceder à des variables ou à des fonctions, qui sont déclarées dans le script pricipal (l'ancien _root), depuis un clip. En gros pour traduire l'ancien : _root.fct() ou this._parent.var1 J'ai essayer toutes les combinaisons avec root, stage, Stage, this.parent, this.root, etc... J'ai seulement trouvé une commande "bricolage", qui fonctionne mais qui n'est pas puissante et plutot lourde à utiliser : this.parent["fct"].call(); J'ai exactement le meme probleme pour nextFrame() depuis un clip pour changer la tete de lecture de la scene pricipale... Bon voila j'espere que vous pourais m'élucider mon probleme ! Merci beaucoup ! |
|
|
00
|
|
|
#2 | ||
|
Membre émérite
![]() ![]() Étudiant Inscription : décembre 2003 Messages : 916 ![]() |
Salut,
En effet le _root traditionnel n'est plus (et c'est tant mieux Exemple pour les méthodes : Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : avril 2004 Messages : 496 ![]() |
en clair , comment j accede a l ancien root depuis une classe ?
dans un package et une classe : Code :
__________________
telecharger jeux pc |
||
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Attention, le stage n'est pas le _root.
En AS2, le _root, c'était un four tout bordélique où on mélangeait objets graphiques, variables et fonctions. L'AS2, même s'il présentait des possibilités objet est un langage à l'architecture procédurale. En AS3, tu es dans un cadre très strict orienté objet (il va certainement falloir que tu te formes un peu à la POO). Cela signifie qu'il n'y a pas de _root, il n'y a que des objets indépendants les uns des autres. Avec un objet particulier, important, qui est le container de l'application (qu'on pourrait éventuellement considérer comme le _root). Un objet (y compris le container de l'application) ne peut pas en appeler un autre, ou être lui-même appelé, sans passer par une référence à cet objet. En gros, il faut lui passer une référence (dite aussi pointeur) d'un objet A à un objet B pour que celui-ci puisse l'appeler. Si tu veux reproduire un _root, il te faut une classe statique globale dans laquelle tu fourres tout. Ce qui est simple mais fortement déconseillé, car c'est tenter de reproduire une programmation procédurale dans un environnement objet... C'est le code que te proposes theCaptain. Enfin, le stage, c'est la base de la pile graphique. Autrement dit, le stage c'est un empilement virtuel d'objets graphiques, qui sert à la représentation et l'organisation visuelle de l'application. Autrement dit, le stage ne contient pas en soi de variables ou de méthodes. Pour terminer, j'ajoute que la documentation de Flash a des chapitres très clairs, bien faits et détaillés sur la programmation objet. Je t'engage à les lire attentivement, sinon tu n'arriveras pas à t'en sortir avec l'AS3 qui, en terme d'architecture, n'a rien à voir avec l'AS2. |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Heu... à la vue du nombre impressionnant de lectures de ce thread, j'imagine qu'il y a un paquet de gens qui se posent la question...
J'insiste donc sur le fait que: - en AS2 vous êtes en programmation procédurale - en AS3 vous êtes en programmation objet Cela n'a rien à voir. Et en ce sens, l'AS3 n'est pas simple. Je ne saurais que trop vous encourager à vous former à la POO (programmation orientée objet). Et en particulier à lire la doc spécifique de Flash prévue à cet effet. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : août 2008 Messages : 2 ![]() |
Salut,
pour ciblé un clip ou une variable en AS3, tu dois d'abord localiser ton clip ou variable ou elements avec la fonction MovieClip puis tu ecrit le reste comme en AS2. Exemple : Variable RT declarer dans le clip principale. var rt:int = 10; Besoin dans le clip nommer MC_Math. var Total:int = 58 * MovieClip(parent).rt; Si tu veut utiliser un gotoandplay dans un clip nommer MC_Cadre contenu dans la scene principale idem : exemple : MovieClip(parent).MC_Cadre.gotoAndPlay(2); Bon courage |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com