1

我有两个带有 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 条消息“slide0 show begin”。但是,当我单击 menu_item0 时,我收到一条消息。

请帮忙 - 哪里出错了?

4

2 回答 2

1
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 数字。

于 2011-06-07T11:10:08.740 回答
0

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

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

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

于 2010-08-29T11:37:13.493 回答