0

我正在从影片剪辑中创建一个按钮,但我似乎无法弄清楚它为什么不起作用。我已经尝试过这段代码:(使用这段代码,也可以正常工作)

import flash.events.MouseEvent;

this.buttonMode = true;

this.ContinueOver.addEventListener(MouseEvent.MOUSE_OVER, onButtonOver);
function onButtonOver( event:MouseEvent ):void
{
   gotoAndStop("over");
}

this.addEventListener(MouseEvent.MOUSE_OUT, onButtonOut);
function onButtonOut( event:MouseEvent ):void
{
   gotoAndStop("up");
}

this.ContinueDown.addEventListener(MouseEvent.MOUSE_DOWN, onButtonDown);
function onButtonDown( event:MouseEvent ):void
{
   gotoAndStop("down");
}

this.addEventListener(MouseEvent.MOUSE_UP, onButtonUp);
function onButtonUp( event:MouseEvent ):void
{
   gotoAndStop("up");
}

我也试过这个:(在这个版本中,over 按钮保持活动状态,down 或 up 都不起作用)

stop();

this.CommunityCampus.communityUp1.addEventListener(MouseEvent.MOUSE_OVER, this_over);
this.CommunityCampus.communityDown1.addEventListener(MouseEvent.MOUSE_DOWN, this_down);
this.CommunityCampus.communityOver1.addEventListener(MouseEvent.MOUSE_UP, this_over);
this.CommunityCampus.communityUp1.addEventListener(MouseEvent.MOUSE_OUT, this_out);

function this_over(e:MouseEvent):void{
    this.gotoAndStop("over");
}

function this_down(e:MouseEvent):void{
    this.gotoAndStop("down");
}

function this_out(e:MouseEvent):void{
    this.gotoAndStop("up");
}
4

1 回答 1

0

原样的代码应该可以工作,所以我只能猜测这个问题。

当您推进时间线时,您添加操作的按钮需要始终存在。如果时间线前进到按钮不存在的地方,则删除该操作,然后当您返回按钮存在的地方时,您将不再有该操作可用。

您可以通过始终显示按钮并仅在需要时将其隐藏而不是删除它们来解决此问题。

查看示例图像,某些帧缺少按钮,这将导致它不起作用

在此处输入图像描述

于 2014-11-20T03:30:34.623 回答