2008-11-06 9 views
2

J'essaie de contrôler le scénario principal de mon application Flash à partir d'un MovieClip qui est un enfant de l'étape principale. Apparemment, dans ActionScript 2, vous pouvez le faire en utilisant _root, mais en utilisant la racine (depuis _root n'existe plus) donne maintenant une erreur:Accès aux propriétés/méthodes parentes dans Actionscript 3.0

root.play(); 

« 1061: Appel à un jeu de méthode peut-être définie par une référence avec statique type flash.display: DisplayObjectContainer. "

Utilisation de la classe Stage ne fonctionne pas aussi:

stage.play(); 

"1061: appel à une méthode non définie peut jouer à travers une référence avec flash.display de type statique: scène."

Y at-il un moyen de le faire?

Répondre

7

Vous devez jeter un MovieClip

(root as MovieClip).play() 
+2

Eh oui ou MovieClip (root) .play() - dépend où vous voulez l'erreur de jeter! – Iain

0

Une autre façon est séparée votre code MovieClip en classe distincte tout en établissant la classe de documents pour votre fla principal.

Supposons que la classe de document de votre principal fla est Main.as et le fichier de classe de votre MovieClip est Movie.as, vous pouvez ajouter le pointeur de classe principale en tant que paramètre dans le constructeur de classe Movie

Dans Main.as

public class Main() { var m = new Movie(this); }

Dans Movie.as

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); } 
Questions connexes