2016-04-03 10 views
1

私はこれを行う方法を見つけましたが、まだエラーが発生しています。as3ムービークリップ内からメインタイムライン変数にアクセスしようとしています

var onBeat:Boolean = new Boolean; 

とムービークリップの内側に私はそれをアクセスしようとする:変数の変更、

MovieClip(root).onBeat = true; 

、それは技術的に働き、私が持っているメインのタイムライン上で

エラー#1034:型変換に失敗しました:しかし、それは問題が発生し、このエラーがスローされますflash.display.MovieClipとする7fffaa2c0d1 @は、flash.display ::ステージを変換することはできません。

これは単なる不可能な作業ですか?

+0

「ルート」とは何ですか?どのように定義しますか?あなたはそれをどこで定義しますか? – DodgerThud

+0

私はrootが単に最高レベルの親を指していると思った。この場合の主なステージ。私はどこかでそれを定義するべきですか? – Galbert

+1

「内部のMovieClip」を追加するには? 'this.stage.addChild(insideMc);または ' this.addChild(insideMc); '? –

答えて

0

MovieClipをメインのタイムラインではなくステージの表示リストに追加したため、このエラーが発生しました。

メインタイムラインコード(またはドキュメントクラス)では、addChild(your_mc_instance)またはthis.addChild(your_mc_instance)を使用してMovieClipを追加できます。

しかし、あなたはまたしても、あなたのMovieClipインスタンスに作業コードを取得することができ、例えば、使用してステージに追加しました:それはまた、ステージのに追加されているように、ここで

var _root:DisplayObjectContainer = DisplayObjectContainer(root); 
MovieClip(_root.getChildAt(0)).onBeat = true; 

_root.getChildAt(0)は、あなたのメインのタイムラインのインスタンスを返します他のオブジェクトの前にリストを表示する

希望に応じることができます。

関連する問題