【问题标题】: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 以可视化我的问题...

标签: actionscript-3 flash actionscript movieclip


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多