我要做的就是我需要在9圈上添加50%的alpha而不是第五个,这是我到目前为止所尝试的...我缺少什么?顺便说一句,如果我用“break”替换“continue”,那就完美了。
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);
答案 0 :(得分:2)
在设置if
后,alpha
运行。
因此,continue;
并未跳过任何其他代码。
答案 1 :(得分:1)
continue
将结束for
循环中的当前迭代并移至下一个循环,跳过在该迭代的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
。这是因为如果continue
小于5,我们trace
并跳过块中的i
语句,并在它达到8时结束循环。
答案 2 :(得分: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