AS2フラッシュメニュー、それは内側のボタンを適切に動作させません

StackOverflow https://stackoverflow.com/questions/19841244

質問

AS2で構築されたフラッシュメニューを使用しています。メニューのボタンをクリックすると、このボタンが選択されたステータスになります。最も重要な状態になります。このボタンは、別のボタンがリリースされたときにのみフェードアウトします。ここでデモを見ることができます:

http://activeden.net/item/buttons-section-selected/6100

このコードで動作します:**

//SET STAGE
Stage.scaleMode = "noScale"

//SET BUTTONS TEXT (Here you can change the buttons name)
b1.MC_btnTxt.TXT.text = "Button 1";
b2.MC_btnTxt.TXT.text = "Button 2";
b3.MC_btnTxt.TXT.text = "Button 3";
b4.MC_btnTxt.TXT.text = "Button 4";
b5.MC_btnTxt.TXT.text = "Button 5";

/*CREATE THE BUTTONS ARRAY(if you wanna add or delete 
buttons you have to ad or delete the istance button name from the list*/
var myArray = [b1,b2,b3,b4,b5]; 

//CREATE FUNCTIONS FOR THE BUTTONS ANIMATION
function overBtn (){ 
    for (j=0; j<myArray.length; j++) { 
       myArray[j].onRollOver = function(){ 
       this.gotoAndPlay(2); 
      } 
        myArray[j].onRollOut = function(){ 
        this.gotoAndPlay("fadeOut"); 
      } 
    } 
} 

function releaseStatus() { 
    for (a=0; a<myArray.length; a++) { 
       myArray[a].enabled = false; 
    } 
    deselection(); 
} 

function deselection() { 
    for (b=0; b<myArray.length; b++) { 

        if (b<>selectedBtn) {  
       myArray[b].enabled = true; 
       if(myArray[b]._currentframe==32) 
            myArray[b].gotoAndPlay("selectionFadeOut"); 
        } 
    } 
} 


// SET BUTTONS
b1.onRelease = function() { 
    sectionTXT.text = "Section 1"
    selectedBtn = 0; 
    releaseStatus(); 
    this.gotoAndPlay("selectionFadeIn"); 
} 

b2.onRelease = function() { 
    sectionTXT.text = "Section 2"
    selectedBtn = 1; 
    releaseStatus(); 
    this.gotoAndPlay("selectionFadeIn");  
} 


b3.onRelease = function() { 
    sectionTXT.text = "Section 3"
    selectedBtn = 2; 
    releaseStatus(); 
    this.gotoAndPlay("selectionFadeIn");  
} 

b4.onRelease = function() { 
    sectionTXT.text = "Section 4"
    selectedBtn = 3; 
    releaseStatus(); 
    this.gotoAndPlay("selectionFadeIn"); 
} 

b5.onRelease = function() { 
    sectionTXT.text = "Section 5"
    selectedBtn = 4; 
    releaseStatus(); 
    this.gotoAndPlay("selectionFadeIn");  
}

//INIT INTERFACE
overBtn(); 

問題は、ボタン内にボタンを追加する場合(B1、B2、B3 ...)、内側のボタンが機能しないことです。たとえば、以下のコードは、メインボタンの1つ(B5)の1つ内部のボタンに対しては機能しません。

b5.ex .onRelease = function ()
{
    this.gotoAndStop("selectionInnerButton"); 
}
;

私の質問は、内側のボタンを適切に動作させるために、コードに何を変更すればよいですか?

ありがとう!

役に立ちましたか?

解決

ステップ1:ボタンに移動します。

ステップ2:サブボタンを右クリックします

ステップ3:それのためにonclick関数を作成します(this.onRelease = function())

ステップ4:建設コードで、にアクセスしてください parent サブボタンの selectionInnerButton あなたがやっているようなフレーム: _parent.gotoAndStop('selectionInnerButton')

そして、あなたはそこに行きます。しかし、あなたの現在のコードの何が悪いのかということです。私はあなたが言っていることに気づいたことです this.gotoAndStop それはあなたがあなたのボタンの中にいると私に信じさせるので、機能は this.ex.onRelease = function().

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top