如何从另一个影片剪辑中访问影片剪辑中的帧
Posted
技术标签:
【中文标题】如何从另一个影片剪辑中访问影片剪辑中的帧【英文标题】:How to access a frame inside a movieclip from within another movieclip 【发布时间】:2015-07-07 05:19:21 【问题描述】:我有关于电影剪辑的问题...
在我的主时间线上有 2 个 MC,在 MC1 内有一个按钮,当点击它时 - 应该让我进入 MC2 的第 10 帧(在主时间线上)...
我的按钮代码(在 mc1 内):
btn_standard.addEventListener(MouseEvent.CLICK, standard_click);
function standard_click(myNextEvent:MouseEvent):void
MovieClip(root).mc2.gotoAndPlay(10);
没有错误,但是按钮不起作用... 谁能帮帮我吗! :-(
编辑:这是sample file - 同样的问题!
【问题讨论】:
您的代码看起来不错。尝试将 gotoAndPlay 更改为 gotoAndStop。如果这没有帮助,您可以附加 FLA 吗? 播放和停止都行不通... :-/ 我在我的问题中添加了一个快速示例 .fla 以可视化我的问题... 【参考方案1】:为什么不在主时间轴上而不是在 mc1 内部添加 as3 代码,像这样:
mc1.btn_standard.addEventListener(MouseEvent.CLICK, standard_click);
function standard_click(myNextEvent:MouseEvent):void
mc2.gotoAndPlay(10);
【讨论】:
也不起作用... mc2.gotoAndPlay(10) 仅在 mc1 和 mc2 都在同一帧上时才有效 - 但我需要它们在不同的帧上... 那么我想你手动添加了 MovieClips 和它们的补间到主时间线。如果您想做的不仅仅是简单的动画,那不是很聪明。通过代码添加这些影片剪辑,您将更容易使用它进行操作。【参考方案2】:此代码不起作用,因为在第一帧中没有 mc2:
function standard_click(myNextEvent:MouseEvent):void
MovieClip(root).mc2.gotoAndStop(10);
在鼠标点击后从这个 MovieClip 中调度任何事件:
function standard_click(myNextEvent:MouseEvent):void
dispatchEvent(new Event(Event.COMPLETE));
将下一个代码添加到主时间线的第一帧:
import flash.events.Event;
stop();
mc1.addEventListener(Event.COMPLETE, onComplete);
function onComplete(event:Event):void
gotoAndStop(10);
mc2.gotoAndStop(10);
【讨论】:
以上是关于如何从另一个影片剪辑中访问影片剪辑中的帧的主要内容,如果未能解决你的问题,请参考以下文章