动画片段内的时间线导航按钮

时间:2011-04-27 22:25:30

标签: actionscript-3 button navigation timeline

首先,如果在其他地方已经回答道歉,请相信我已经搜索过了!它确实需要一个非常简单的解决方案。

我有一个MC,其中包含不同帧上的一些图像和一些按钮,这些按钮应该在每个帧上进行gotoandStop。一个简单的画廊。

我的计划是为我网站上的每个图库创建一个MC,并将每个图库放在一个独特的框架中,这样主导航框就会转到一个带有MC的框架,然后MC按钮在该图库中导航。 / p>

但按钮不起作用。

这是MC中的按钮代码:

on1_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_5); 

function fl_ClickToGoToAndStopAtFrame_5(event:MouseEvent):void 
{
    gotoAndStop("on1");

}

注意:为了便于检查代码,我将按钮实例和框架标记为相同,这里有多个按钮,除了数字的变化外,每个按钮都有相同的代码。我想没有必要将它们全部粘贴进去。

任何帮助!如果您需要更多信息/代码,请不要犹豫。

非常感谢,

杰米

1 个答案:

答案 0 :(得分:1)

我正在收集您的按钮不在主时间轴上。使用它可以从任何地方访问主时间轴的方法非常简单:

MovieClip(root).method();

所以对你:

MovieClip(root).gotoAndStop(5);

另外,只是为了好玩 - 这可能是一种更快捷,更简洁的方式来设置具有gotoAndStop动作的多个按钮,而不是具有许多不同的功能:

给你的按钮名称以数字结尾..例如goto1,goto6,goto9。然后将它们添加到顶部的数组中:

var buttons:Array = ["goto1","goto6","goto9"]; // <--- here

var i:String;
for each(i in buttons)
{
    this[i].addEventListener(MouseEvent.CLICK, goto);
}

function goto(e:MouseEvent):void
{
    var sb:SimpleButton = SimpleButton(e.target);
    var num:uint = uint(sb.name.substr(sb.name.length-1, 1));

    trace(num);
    gotoAndStop(num);
}