MovieClip(root) ne fonctionne Pas. Comment accéder à la racine de la variable movieclip? Flash AS3
Ok Ive a obtenu un simple fichier flash, depuis im essayant d'accomplir l'accès à une variable de la scène principale à l'intérieur d'un clip. Toutes les choses que j'ai constaté à partir de google point de MovieClip(racine). Mais sa ne fonctionne pas pour moi.
Sur le scénario principal:
var MyName:String;
MyName = "kenny";
Ensuite, j'ai un movieclip appelé MyBox, son code:
trace(MovieClip(root).MyName);
Et j'obtiens cette erreur: TypeError: Error #1034: Contrainte de Type failed: ne peut pas convertir flash.display::Stage@2d2df089 pour flash.d'affichage.MovieClip.
au MyBox/sendpmtext()
J'ai aussi essayé de MovieClip(parent), MovieClip(parent.parent), MovieClip(scène), MovieClip(ce.le stade) et pas de chance. Toute aide, s'il vous plaît?
- Qui produit des Biens MyName pas trouvé sur flash.d'affichage.Stade et il n'y a pas de valeur par défaut. GRRR je Suis retardé???
- parent["Monnom"] a donné le même message d'erreur. 🙁 Je ne sais pas comment utiliser un document en fichier de classe. Je manque un mot clé GLOBAL, peut-être?
Vous devez vous connecter pour publier un commentaire.
Vous pourriez faire
OU, un bon casting du scénario principal (dans ce contexte, le parent est de type MainTimeline):
Parent est toujours un
DisplayObjectContainer
, qui n'a pas de propriétés particulières que vous créez. Si vous créez des propriétés personnalisées, alors vous avez besoin de jeter à la classe qui a des propriétés personnalisées à l'avant, vous serez en mesure d'y accéder par son nom. (le compilateur, autrement, ne savent pas qu'ils existent, et vous donne cette erreur).root
se réfère à la dernière étape de votre fichier swf. Le scénario principal est en fait un enfant de la scène, ce vars/les objets/méthodes sur le scénario principal ne sont pas une partie destage
Si votre aide
stage.addChild(MyBox)
, puisstage
est le parent, et non pas le scénario principal. Si pour une raison quelconque vous avez besoin de la scène en tant que parent, alors vous devez garder en référence à la mainTimeline quelque part, vous pouvez accéder. Vous pouvez créer un var pour ce faire, dans votre MyBox timeline.Puis dans le scénario principal code, faites ceci:
Ensuite, vous pouvez accéder à votre var dans MyBox en faisant
mainTimeline.MyName;
stage
est le parent, et non pas le scénario principal. utiliser la méthode addChild au lieu de scène.addChildStage
estDisplayObject
, mais pasMovieClip
. Essayez d'utiliser la coercitionou
et d'accéder à des propriétés personnalisées: