0

私がしなければならないことは、5番目の円を除いて9つの円に50%のアルファを追加する必要があるということです。これまでに試したことはここにあります...何か足りないものがありますか?ちなみに「continue」を「break」に置き換えれば完璧に動作します。

function rendreAlpha(pEvt:MouseEvent)
{
    for (var i:int=1; i<=9; i+=1)
    {
        trace(i);
        this["balle" + i + "_mc"].alpha = 0.5;
        if (i == 5)
        {
            continue;
        }
    }
}
btn2.addEventListener(MouseEvent.CLICK,rendreAlpha);
4

3 に答える 3

2

を設定した後にif実行します。alpha

したがって、continue;は追加のコードをスキップしません。

于 2013-03-07T03:28:12.647 に答える
1

continueforループ内の現在の反復を終了して次の反復に移動し、その反復のcontinueステートメントの後に発生するアクションをスキップします。

breakループ全体を終了し、その後に発生するその反復内のコードをスキップします。

両方をもう少し明確に理解するのに役立つ小さなデモを次に示します。

for(var i:int = 0; i < 10; i++)
{
     if(i < 5)
     {
         // Skip the rest of the code in this block and move to the
         // next iteration.
         continue;
     }

     trace(i);

     if(i === 8)
     {
         // End the entire loop.
         break;
     }
}

出力には。のみが含まれていることに気付くでしょう5,6,7 & 8。これは、が5未満の場合はブロック内continueのステートメントをスキップし、 8に達したらループを終了するためです。tracei

于 2013-03-07T04:50:29.363 に答える
0

Flash Player 10.1の場合:

private static function stackDump():void
    {

        //obj can be an object, dictionary, vector, array.
        //probably anything that can be accessed using bracket notation.
        var obj:Array = [1, 2];
        var dex:int = 0;

        //if you access an object,vector,array,or dictionary using a nested incrimentor operator
        //followed by a continue statement, you will get a stack dump.
        //The loop can be a for, while, or do loop.
        while (false)
        {
            obj[dex++] = 0;
            continue;
        }

    }//end stackDump
于 2014-09-11T21:02:35.803 に答える