TypeError:错误#1007:尝试在非构造函数上实例化。尝试播放音频时

时间:2018-12-24 13:17:58

标签: actionscript-3

我正在使用Adobe Animate CC 2019,ActionScript 3。

在我的主要时间轴中,我在单个帧上使用影片剪辑,并在每个帧上应用了stop();操作。我的主要内容是每个影片剪辑内。在每个影片剪辑中,我在要播放的音频的一层和另一层上都有一个PNG序列号。我的图书馆里有所有必需的音频。每个音频都已为ActionScript导出并分配了一个类。在所有影片剪辑中,我都通过在(空白)音频层上所需帧处使用代码在所需帧处播放声音。示例代码为:

var fl_SC:SoundChannel;

var s:Sound = new (b);
fl_SC = s.play();

其中b是音频的类别。

我已经重复了所有这些操作以创建另一个影片剪辑。我创建一个影片剪辑,将其放置在主时间轴上的某个帧上,向该帧添加stop();操作,进入该影片剪辑内,在一个层上导入图像序列,创建另一个(空白)层,并添加一个关键帧,将操作添加到关键帧:

var fl_SC:SoundChannel;

var s:Sound = new (z);
fl_SC = s.play();

其中z是音频的类别。

问题是,我的SWF文件在没有音频层的情况下仍能正常工作,但是,一旦我添加了具有上述代码的层,我的输出窗口就会抛出此错误:

TypeError: Error #1007: Instantiation attempted on a non-constructor.
at Audi_fla::MarketShareTrend_9/frame1()
at flash.display::MovieClip/gotoAndPlay()
at Audi_fla::MainTimeline/fl_ClickToGoToAndPlayFromFrame_7()

其中Audi.fla是我的Animate文件的名称,frame1(在影片剪辑内)是我要对其添加操作的文件,“市场份额趋势”是影片剪辑的名称。

我不知道为什么要提到fl_ClickToGoToAndPlayFromFrame_7()部分。这是我在主时间轴上一帧中添加的其他影片剪辑上起作用的代码的一部分。

这是代码:

stop();

movieClip_6.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_7);

function fl_ClickToGoToAndPlayFromFrame_7(event:MouseEvent):void
{
    gotoAndPlay(54);
}

如何消除错误并在所需的影片剪辑中保持音频播放?

1 个答案:

答案 0 :(得分:1)

正如@Organis在评论中指出的那样,问题出在类名z上。更改名称后,现在可以使用相同的功能。