0

そこで質問なのですが、ステージ上に「fadeL」と「PDF1」というMCを追加するボタンがあります

クイック ノート: 「fadeL」と「PDF1」は「fadeMC」のインスタンスで、「PDFwindow」はそれらのコードです。

var fadeL:fadeMC = new fadeMC();
this.addChild(fadeL);
fadeL.x = 0;
fadeL.y = 0;   

var PDF1:PDFwindow = new PDFwindow();
this.addChild(PDF1);
PDF1.x = 30;
PDF1.y = 130; 

PDF1内には、closeBtnというボタンを含む「PDFviewer」という別のMCがあります

そのボタンのアクションスクリプトは次のとおりです。

var container:DisplayObjectContainer = stage.getChildAt(0) as DisplayObjectContainer;
var mc:MovieClip = container.getChildByName("fadeL") as MovieClip;
mc.gotoAndStop(12);

つまり、基本的には、「fadeL」にフレーム 12 で再生を開始するように指示しようとしています (最終的には画面からフェードアウトします)。

しかし、closeBtn が押されたときに表示されるエラーは次のとおりです。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。NovartisTable_fla::PDFviewer_4/closeTap()[NovartisTable_fla.PDFviewer_4::frame1:9]

ここに何か提案はありますか?これに取り組む他の方法を探していましたが、すべて失敗しました

-トッド

4

1 に答える 1

0

実際には、fadeL呼び出したときにへの参照をstage.getChildAt(0)取得しています (表示しているコードが、表示リストにアイテムを追加する唯一の時間であると仮定します)。

ボタン ハンドラを次のように変更します。

var mc:MovieClip = stage.getChildAt(0) as DisplayObjectContainer;
mc.gotoAndStop(12);

それができない場合はfadeL、実際nameに次のことを実行できるようにします。

fadeL.name = "fadeL";
...
var mc:MovieClip = stage.getChildByName("fadeL") as MovieClip;
mc.gotoAndStop(12);
于 2013-05-07T20:13:47.563 に答える