我之前问过一个类似的问题,并得到了很好的答案,如果这个问题让您感到有些沮丧,我深表歉意。希望这会是一个快速解决的问题。我正在设计一个交互式Flash教程,旨在解释一个复杂的生物学问题,我已经将时间轴结构化,使其不超过两个帧和四个图层。我之前在舞台时间轴上设计过这个,但它变得非常混乱,并出现了一些问题,所以我决定用这种方式重新设计它。
它由三个主要部分组成——首先是渐变出现的标题,分为两个部分,然后是两个按钮(在完全渐变出现之前被禁用),最后是分别在循环中淡入淡出的分子动画。页面保持静态,直到用户点击其中一个按钮。
我在主时间轴上有四个图层——操作、按钮、分子和标题。每个图层都包含相关的图像和动画。
我想编写代码,使每个部分依次播放,但我很难通过AS3访问其他时间轴。
目前我在操作图层中有以下代码:
import flash.events.Event;
NRPSText_mc.addEventListener(Event.ENTER_FRAME, FadeIn);
function FadeIn(event:Event):void
{
if (MovieClip(this.root).currentFrame > 0) {
NRPSText_mc.gotoAndPlay("NRPSFadeIn")
}
}
ColourButton_mc.addEventListener(Event.ENTER_FRAME, BtnFadeIn);
function BtnFadeIn(event:Event):void
{
if (NRPSText_mc.currentFrame == 30) {
ColourButton_mc.gotoAndPlay("ButtonPress")
}
}
由此可见,我已经在每个时间轴中标记了特定事件,并希望它们在一个完成后播放。
问题是知道在每个实例中在“.currentFrame”之前放什么,但我找不到任何信息!到目前为止,我一直能够使用“this”和“MovieClip(this.root)”来解决问题,但我需要能够找出如何引用这些嵌入式时间轴才能使其正常工作。我已尝试这些代码并使用“trace”,似乎运行良好,所以我认为问题就在这里。