0

我有一个包含多个图层和帧的影片剪辑。其中一些包含按钮。当我单击按钮 1 时,我希望它转到下一帧。当我单击按钮 2 时,我希望它转到第 23 帧。这是我用于按钮 1 的代码:

this.addEventListener(MouseEvent.CLICK, convnext);
function convnext(evt:MouseEvent):void
{ 
    MovieClip(parent).gesprekkencivcen.nextFrame();
}

这是按钮 2 的代码:

this.addEventListener(MouseEvent.CLICK, convend1);
function convend1(evt:MouseEvent):void
{ 
    MovieClip(parent).gesprekkencivcen.gotoAndStop(23);
}

现在发生的情况是,当我单击任一按钮时,或者实际上是在影片剪辑中的任何位置(甚至是我没有应用动作的图层)时,它会同时执行这两个功能,所以我最终会转到第 24 帧。有人可以吗?提供这个问题的答案?

4

1 回答 1

1

显然this在这两种情况下都指的是同一个对象,而不是特别指按钮。记录这些按钮的名称,就像您在时间轴上命名它们的实例一样,说出button1button2编写使用这些名称的代码。

button1.addEventListener(MouseEvent.CLICK, convnext);
function convnext(evt:MouseEvent):void
{ 
    parent.parent.gesprekkencivcen.nextFrame();
}
button2.addEventListener(MouseEvent.CLICK, convend1);
function convend1(evt:MouseEvent):void
{ 
    parent.parent.gesprekkencivcen.gotoAndStop(23);
}

但是,有了这个,您将需要更新gesprekkencivcen两个侦听器中的链接,因为这些按钮将具有this父级,并且它们的目标显然不是this. 我试图明确地设置对 的调用parent.parent.gesprekkencivcen,这可能不起作用。

于 2013-05-27T12:04:19.007 回答