0

ボタンのアクティブ状態をコーディングする方法を理解するのに苦労しています(現在のページを表示) これまでのところ、次のとおりです。

stop();

  function handleClick (p_event:MouseEvent) :void
  {
    if(p_event.target == logo_btn)
    {
        gotoAndStop(1, "Home");
    }
    if(p_event.target == home_btn)
    {
        gotoAndStop(1, "Home");
    }
    if(p_event.target == portfolio_btn)
    {
        gotoAndStop(1, "Portfolio");
    }
    if(p_event.target == press_btn)
    {
        gotoAndStop(1, "Press");
    }
    if(p_event.target == links_btn)
    {
        gotoAndStop(1, "Links");
    }
    if(p_event.target == contact_btn)
    {
        gotoAndStop(1, "Contact");
    }
  }

  stop();

  home_btn.addEventListener(MouseEvent.CLICK, handleClick);
  portfolio_btn.addEventListener(MouseEvent.CLICK, handleClick);
  press_btn.addEventListener(MouseEvent.CLICK, handleClick);
  links_btn.addEventListener(MouseEvent.CLICK, handleClick);
  contact_btn.addEventListener(MouseEvent.CLICK, handleClick);
4

1 に答える 1

0

最初に、2 つのフレームを持つボタンを再作成する必要があります。1 つのフレームは非アクティブな ui であり、2 つのフレームはアクティブな ui です。また、1 フレームstop();スクリプトです。Main タイムラインで一時変数を宣言し、現在選択されている Button を MouseClick Handler に格納します。次のアクティブ/非アクティブ タスクの実行。

var selectedButton:MovieClip;
function handleClick(p_event:MouseEvent):void
{
    var clickedClip:MovieClip = p_event.target as MovieClip;

    if (clickedClip == logo_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = logo_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Home");
    }
    else if (clickedClip == home_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = home_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Home");
    }
    else if (clickedClip == portfolio_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = portfolio_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Portfolio");
    }
    else if (clickedClip == press_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = press_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Press");
    }
    else if (clickedClip == links_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = links_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Links");
    }
    else if (clickedClip == contact_btn)
    {
        if (selectedButton)
            selectedButton.gotoAndStop(1);
        selectedButton = contact_btn;
        selectedButton.gotoAndStop(2);
        gotoAndStop(1, "Contact");
    }
}

ここに私のサンプルコードがあります: ActiveButtonTest

于 2013-03-09T23:18:05.380 に答える