闪光灯dispatchEvent触发了两次

闪光灯dispatchEvent触发了两次

问题描述:

我有两个帧,AS3代码:闪光灯dispatchEvent触发了两次

// frame1: 
gotoAndPlay("show controls"); 

// frame2 - have movieclip with name slide0 
// create menu items click listeners 
for (var i:int = 0; i < slides.items.length; i++) // slides.items.length = 1 
    this["menu_item"+i].addEventListener(MouseEvent.CLICK, menu_item_click); 

// click on the first menu item 
this["menu_item0"].dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 

// menu item click handler 
function menu_item_click(e:MouseEvent):void { 
    this["slide0"].gotoAndPlay("show"); 
} 

// in movieclip slide0 on frame with label "show" 
trace("slide0 show begin"); 

我也得到2个消息 “slide0节目开始”。但是当我点击menu_item0时,我有一条消息。

请帮忙 - 哪里出错?

+0

slide0影片剪辑何时停止?你做它.gotoAndPlay('show'),所以它可能会结束,然后再次到标签'show'的框架。 另外,主时间线何时停止? – Hrundik 2010-08-29 12:26:54

+0

slide0有另一个关键帧“stop()”。所以它不能播放两次...我认为:) 但是,当用户点击menu_item0我有一个消息... – im4LF 2010-09-02 08:38:58

嗯,我将dispatchEvent移动到frame3,它工作正常。

// frame3 
this["menu_item0"].dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 

但对这种行为的原因尚不清楚...

+0

是的,如果你加入一个flex的论坛,如荷兰芹或伴侣,那么这个问题是最多的W *F。似乎是没有理由的。 :) – ktutnik 2010-08-30 11:10:03

MovieClip(this)["menu_item"+i].addEventListener(MouseEvent.CLICK, menu_item_click); 
MovieClip(this)["menu_item"+i].dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 

,您可以尝试,以及你可以使用(slides.items.length)yeine号码。