我对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”,但是如果您只想引用主时间轴怎么办?
答案 0 :(得分:0)
如果按钮位于主时间轴上,您可以使用
this.root.getChildByName("Skip_btn").mouseEnabled = true;
如果你开始在主时间轴上播放动画
MovieClip(this.root).currentFrame