AS3许多具有布尔功能的按钮 - 更简洁?

时间:2014-02-11 20:08:50

标签: actionscript-3 if-statement checkbox

我有二十八个两帧MovieClip实例(frame1 = off - frame 2 = on)来选择要发送的PDF。下面的代码工作正常,但我希望收紧它,使它更简洁,更容易阅读。为了空间和理智,我只包含一个对实例的引用。

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);
    }

谢谢!试图学习

2 个答案:

答案 0 :(得分: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;
    }
}

答案 1 :(得分: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 );
    }
}

我认为这是关于你在寻找什么。