Flash dispatchEvent сработал дважды - PullRequest
1 голос
/ 29 августа 2010

У меня есть два кадра с кодом as3:

// 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 сообщения "слайд-шоу начинается".Но когда я нажимаю на menu_item0, у меня появляется одно сообщение.

Пожалуйста, помогите - в чем ошибка?

Ответы [ 2 ]

1 голос
/ 07 июня 2011
MovieClip(this)["menu_item"+i].addEventListener(MouseEvent.CLICK, menu_item_click);
MovieClip(this)["menu_item"+i].dispatchEvent(new MouseEvent(MouseEvent.CLICK));

Вы также можете попробовать (slides.items.length) число, которое вы можете использовать.

0 голосов
/ 29 августа 2010

Хм, я перемещаю dispatchEvent в frame3, и он работает нормально.

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

Но причина такого поведения не ясна ...

...