0

うまく機能する Image XML メニューがありますが、TweenMax のターゲットに少し問題があります。問題の解決に関連するコードのみを投稿します。

ライブラリに MC があり、内部にはimg_mc bg_mc (これはテキストの背景)、およびtitle_mc (この mc 内にはtitle-txtという名前のテキスト フィールドがあります) の 3 つのムービー クリップがあります。

MCの for ループを作成し、トゥイーン アニメーションで e.currentTarget を使用します。

ホバーしたとき、title_mcは背景をスケーリングすると思われますが、bg_mcはテキストの後ろにあるため、ホバーは機能しません。MOUSE:OVER スケールでbg_mcのtitle_mcをターゲットにする方法がわかりません。

コードの重要な部分:

for (var i:Number = 0; i < my_total; i++)
   {
      //CREATE THE LOOP FOR MOVIE CLIP THAT I HAVE IN LIBRARY WITH THE CLASS "menu_item"
      var MC:MovieClip = new menu_item();
      MC.id = "i" + i;
      MC.label = my_menu[i]. @ LABEL;
      MC.name = "mc" + i;

アニメーション イベント:

//ANIMATION EVENTS
MC.container_mc.bg_mc.addEventListener(MouseEvent.MOUSE_OVER, hover_bg);
MC.container_mc.bg_mc.addEventListener(MouseEvent.MOUSE_OUT, out_bg);

function hover_bg(e:MouseEvent)
{
   TweenLite.to(e.currentTarget,1,{scaleY:1.2,ease:Quad.easeInOut});
   TweenLite.to(e.currentTarget,1,{alpha:0.8});
}
function out_bg(e:MouseEvent)
{
   TweenLite.to(e.currentTarget,1,{scaleY:1,ease:Quad.easeInOut});
   TweenLite.to(e.currentTarget,1,{alpha:0.6});
}

title_mc が bg_mc を超えているため、この最後のコードは機能しません。

イベント MC.container_mc.title_mc.addEventListener(MouseEvent.MOUSE_OUT, out_bg); を入れた場合 テキストもスケーリングされますが、これは望ましくありません...

ありがとう

4

1 に答える 1

1

MC のhitArea プロパティを bg_mc クリップに設定してみてください。そして、MC のmouseChildren プロパティを false に設定します。

于 2011-01-13T19:53:42.470 に答える