我一直在寻找过去几个小时如何做到但没有运气。首先,我是AS的新手,不知道该搜索什么。
所以这就是我拥有的和我想要做的事情:舞台只有1帧,在舞台上我有1个按钮(b1),1个不可见的影片剪辑(区域)和1个可见的影片剪辑20帧(ani)的动画。当我按下按钮“b1”时,它将启动电影“ani”(电影最初停止),当它到达第20帧时将停止。现在我想要的是当它到达最后一帧时制作电影剪辑“区域“可见。由于我在“ani”里面和第20帧,我不能直接使用area.visible = true;因为我会得到错误“访问不明属性区域。”从另一个对象中访问“area”属性的方法是什么?
答案 0 :(得分:0)
我不确定我是否完全理解你所说的一切,但我认为你想要做的就是在你的舞台上,ani和area都有范围:
ani.addEventListener(Event.ENTER_FRAME, frameCheck);
function frameCheck(e:Event):void
{
if (ani.currentFrame == ani.totalFrames)
{
ani.removeEventListener(Event.ENTER_FRAME, frameCheck);
area.visible = true;
}
}
这只是一个例子,说明你如何能够检测出最后一帧并正确处理它。
您需要在按下按钮的时候添加事件监听器。
答案 1 :(得分:0)
在“ani”MovieClip
内(最后一帧)添加以下句子
MovieClip(this.parent).area.visible = true;
此处,parent
是您的主要时间轴。
(注意:不推荐这种方法)。
相反,使用外部类方法。例如使用Loader
类加载带有COMPLETE
事件的动画swf,并使用contentLoaderInfo
获取swf对象并检测最后一帧并使区域MovieClip
可见。