AS3:如果一个不同的动画片段触发了鼠标悬停事件,如何更改一个动画片段的alpha?

时间:2011-02-20 05:57:16

标签: flash actionscript-3 button adobe navigation

我是AS3的新手,所以请光临我。我有一个影片剪辑(让我们称它为mc_A用于识别目的),在鼠标悬停事件上向下滚动并在鼠标输出事件上回滚。我有一个单独的影片剪辑(mc_B),我想在mc_A卷起时使其不可见。然后在mc_A的鼠标悬停事件被触发时淡入。

这是我到目前为止的代码,也就是说,只要鼠标悬停在按钮上“向下滑动”。


import com.greensock.;
import com.greensock.easing.;

/****** Slide Menu ******/ var invisible_menu : Number = menu_mc.y; var visible_menu : Number = 12;

menu_mc.addEventListener(MouseEvent.ROLL_OVER,showMenu); menu_mc.addEventListener(MouseEvent.ROLL_OUT,hideMenu);

function showMenu(event:MouseEvent) :void{ TweenLite.to(menu_mc, .15, {y:visible_menu,ease:Linear.easeNone}); }

function hideMenu(event:MouseEvent):void { TweenLite.to(menu_mc, .15, {y:invisible_menu,ease:Linear.easeNone}); }

1 个答案:

答案 0 :(得分:0)

像这样的东西。我在下面的代码中假设menu_mc是你所指的mc_a。

function showMenu(event:MouseEvent) :void
{
    TweenLite.to(mc_b, .15, {alpha:1,ease:Linear.easeNone});
    TweenLite.to(menu_mc, .15, {y:visible_menu,ease:Linear.easeNone});
}


function hideMenu(event:MouseEvent):void
{
    TweenLite.to(mc_b, .15, {alpha:0,ease:Linear.easeNone});
    TweenLite.to(menu_mc, .15, {y:invisible_menu,ease:Linear.easeNone});
}

另外,不确定你在使用该行做什么:

light_mc.addEventListener(MouseEvent.

但这不完整。也许只是一个糟糕的复制和粘贴?

如果您将变量实例化更改为:

var invisible_menu : Number = menu_mc.y;
var visible_menu : Number = invisible_menu + 12;

然后你可以调整菜单的位置,但仍然可以下拉相同的距离,而无需再次调整visible_menu变量。