0

首先,如果这已在其他地方得到回答,我深表歉意 - 相信我,我已经搜索过了!我敢肯定,它需要一个非常简单的解决方案。

我在里面有一个 MC,它由不同帧上的一些图像和一些应该在每个帧上 gotoandStop 的按钮组成。一个简单的画廊。

我的计划是为我网站上的每个画廊创建一个 MC,并将每个画廊放在一个独特的框架中,因此主导航 btns 转到其中包含 MC 的框架,然后 MC 按钮在该画廊中导航。

但按钮不起作用。

这是 MC 内的按钮代码:

on1_btn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_5); 

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

}

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

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

非常感谢,

杰米

4

1 回答 1

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);
}
于 2011-04-27T22:49:27.810 回答