混合AS2和AS3的问题

时间:2010-02-23 00:10:34

标签: flash actionscript-3

对于我的生活,我无法弄清楚如何在我的电影主时间轴中找出当前的标签。这是在AS3。

我在舞台上有一个跨越电影时间轴的按钮。它检测按键。 我想跟踪播放头所在的当前帧标签。

on(keypress "<left>") { 
 trace(this);
 trace(this.currentFrameLabel);
 trace(this.currentLabel);
 trace(currentFrameLabel);
 trace(currentLabel);
} 

我为此得到“_level0”......其余部分未定义。我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

您是否正在发布AS1 / 2或AS3电影? on(keypress "left")是AS1(甚至不是2),currentFrameLabelcurrentLabelMovieClip类的AS3属性。您需要在AS3中使用事件侦听器:

addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownHandler);

如果您要为AS2发布,currentFrameLabelcurrentLabel将是未定义的,但AS1 / 2具有MovieClip._currentframe属性,这是一个整数。

AS2和AS3被编译成不同的字节码(AS1/2 gets compiled to AVM1 and AS3 to AVM2),因此你不能将它们放在同一个编译的swf文件中。