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 中是另一个名为“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]

这里有什么建议吗?一直在寻找其他方法来解决这个问题,但都让我失望了

-托德

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 回答