2011-04-27 30 views
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"); 

} 

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

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

非常感谢,

杰米

回答

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); 
} 
相关问题