currentFrame标识符[AS3]

时间:2012-02-19 16:21:44

标签: actionscript-3 flash actionscript flash-cs5 identifier

我对Flash和AS3完全不熟悉,我认为这将是一个简单的问题,但我无法在线或在文档中找到答案。我正在尝试使用addEventListener(Event.ENTER_FRAME)和(.currentFrame)来禁用部分动画序列的按钮。当动画序列淡入时,按钮手形光标是可见的,人们可以在序列完成之前选择它。我想为主时间轴的前213帧禁用此按钮,即按钮变为可见时。

早些时候,我成功地使用下面的代码为不同电影场景的某些部分禁用了“倒带”按钮,并更改了一些无关紧要的内容。

Skip_btn.addEventListener(MouseEvent.CLICK, SkipToGoToScene);

function SkipToGoToScene(event:MouseEvent):void
{
MovieClip(this.root).gotoAndPlay(1, "Opening");
}

//Skip_btn functions

Skip_btn.addEventListener(Event.ENTER_FRAME, skipDisable);

function skipDisable(event:Event) {
if (this.currentFrame < 213)
{   Skip_btn.mouseEnabled = false;
} else {
Skip_btn.mouseEnabled = true;
}

if (this.currentFrame > 213) {
Skip_btn.removeEventListener(Event.ENTER_FRAME, skipDisable);
}
}

问题是,在我可以使用“this.currentFrame”之前,因为按钮位于它控制的同一时间轴上,而现在它嵌入在主时间轴上的MovieClip中。我可以将“此”换成什么,以便我可以参考这个主时间轴?另外,有人可以填写“.currentFrame”的其他“标识符”,因为我不太清楚它是如何工作的。文档示例要求使用Movieclips,例如“MyMovie_mc.currentFrame”,但是如果您只想引用主时间轴怎么办?

1 个答案:

答案 0 :(得分:0)

如果按钮位于主时间轴上,您可以使用

this.root.getChildByName("Skip_btn").mouseEnabled = true;

如果你开始在主时间轴上播放动画

MovieClip(this.root).currentFrame