我一直在尝试使用它的实例名称引用第2帧中引入的库符号,仅使用时间轴脚本。
我正在尝试制作一个颜色选择器MC符号,以便多次重复使用。首先,我在舞台上画了一个小按钮并转换为MC,名为textColourPicker
CPicker
类型(用于在库中表示此MC的类)。在这个MC里面,我有一个名为pickerButton
在textColourPicker
MC的第一帧中,我放置了代码:
stop();
pickerButton.addEventListener(MouseEvent.CLICK, doShowPicker);
function doShowPicker(e:MouseEvent):void
{
gotoAndPlay(2);
}
在textColourPicker
实例的第2帧中,会出现一个新的MC,其实例名称pickerBox
的类型为pickerBMP
。然后将pickerBox
缩放到第14帧,此时我有代码:
stop();
pickerBox.addEventListener(MouseEvent.MOUSE_OVER, cursorToColour);
除了我总是收到错误:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at CPicker/frame14()[CPicker::frame14:10]
此处CPicker
指的是textColourPicker
MC的链接名称。
所以textColourPicker
是实例:myPicker
,链接名称:CPicker
和pickerBox
是:pickerBMP
的实例,链接名称:pickerBMP
(位于textColourPicker
MC内。
为什么不允许我在pickerBox
的第14帧引用textColourPicker
MC?
textColourPicker
时间轴的图形可能有助于说明所有这些(请注意两个时间轴脚本图标,第一帧位于第14帧中的第1帧:
答案 0 :(得分:1)
我为InsideRIA写了一篇关于完全按照你要做的事情的帖子。它存档在这里:
http://www.developria.com/2010/04/combining-the-timeline-with-oo.html
在我看来,你最好的选择是getter / setter方法,因为你在最后有一个关键帧,新的值将插入到变量的值中。
此处提供了两种方法的示例代码http://flexdiary.blogspot.com/2010/04/sample-code-for-oop-timeline-insideria.html
HTH;
艾米