所以继续我的问题,我在舞台上有一个按钮,添加一个名为“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中是另一个称为“PDFviewer”的MC,其中包含一个名为closeBtn
的按钮以下是该按钮的动作脚本:
var container:DisplayObjectContainer = stage.getChildAt(0) as DisplayObjectContainer;
var mc:MovieClip = container.getChildByName("fadeL") as MovieClip;
mc.gotoAndStop(12);
基本上我试图告诉“fadeL”开始在第12帧播放(这最终会让它从屏幕上淡出)
但是这是我按下closeBtn时得到的错误:
TypeError:错误#1009:无法访问空对象引用的属性或方法。 在NovartisTable_fla :: PDFviewer_4 / closeTap()[NovartisTable_fla.PDFviewer_4 :: frame1:9]
这里有什么建议吗?一直在寻找解决这个问题的其他方法,但都让我失望
-Todd
答案 0 :(得分: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);