2014-02-11 58 views
0

我有一個兩幀MovieClip(frame1 = off-frame 2 = on)的二十八個實例來選擇要發送的PDF。下面的代碼工作正常,但我期待收緊它,使其不那麼冗長,更容易閱讀。爲了空間和清晰的緣故,我只包含一個參考。AS3很多帶布爾函數的按鈕 - 不太詳細?

function PDFClick(e:MouseEvent):void { 
    targetPDF = e.target.ID; 
    trace("targetPDF " +targetPDF); 

    if (targetPDF == "PDF1") 
    if (pdf.pcconnectionPDF1.currentFrame == 1) 
    { 
     pdf.pcconnectionPDF1.gotoAndPlay(2); 
     PDF1 = 1; 
     trace("PDF1 is "+PDF1); 
    }else{ 
     pdf.pcconnectionPDF1.gotoAndPlay(1); 
     PDF1 = 0; 
     trace("PDF1 is "+PDF1); 
    } 

謝謝!努力學習

回答

0

如何:

function PDFClick(e:MouseEvent):void { 
    targetPDF = e.target.ID; 
    trace("targetPDF " +targetPDF); 

    if (targetPDF == "PDF1") { 
     var frame:int = pdf.pconnectionPDF1.currentFrame; 
     pdf.pconnectionPDF1.gotoAndPlay(frame == 1 ? (PDF1 = 1)+1 : (PDF1 = 0)+1); 
    } 
} 

我認爲這是你在找什麼。

1

你會想把你的電話概括爲你的ID,這樣你就不需要爲每個條件設置特殊的代碼。

function PDFClick(e:MouseEvent):void { 
    var ID:String = e.target.ID; 
    var mc = pdf["pcconnection" + ID]; 

    if (mc.currentframe == 1) { 
     mc.gotoAndPlay(2); 
     this[ID] = 1; 
    } else { 
     mc.gotoAndPlay(1); 
     this[ID] = 0; 
    } 
} 
+0

是 - Atriace - 這很合理 - 謝謝! – user972043

+0

如果找到答案,請不要忘記接受。 ;) – Atriace