我之前问过类似的问题并得到了很好的答案,所以如果这有点令人沮丧,我深表歉意。希望这将是一个快速的。我正在设计一个交互式 Flash 教程来解释一个复杂的生物学问题,并且我已经构建了时间轴,以便不超过两帧和四层。我之前在舞台时间轴上设计过这个,但它变得非常混乱,并且存在一些问题,我决定必须以这种方式重做。
它由三个主要部分组成 - 首先在两个部分中淡入的标题,然后是两个按钮(在完全淡入之前被禁用),最后是在循环中无限淡入和淡出的分子动画。然后页面保持环境状态,直到用户单击其中一个按钮。
我在主时间线上有四个图层——动作、按钮、分子和标题。每个都是相关的图像和动画。
我想对其进行编码,以便每个都连续播放,但是我很难通过 AS3 访问其他时间线。
目前我在 Actions 层中有这个:
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”尝试了这些代码,它似乎工作正常,所以我认为这就是问题所在。