【 tulaoshi.com - Flash 】
前两天,看到有个朋友发帖子问 if 和 do..while之间的区别,当时只回答了一点:即do..while至少执行一次;而if可能一次都不执行就跳出循环。其他的就想不起来了,想想还是自己学业不精,于是今天查了些资料,把FLASH MX的两个主要的条件循环语句分别做个介绍:
1. if语句
格式: if(condition){
statements;
}
if 语句被称为条件判断语句或逻辑分支,是 Flash MX中基于某些条件的评估判断来控制脚本执行流程的语句。当 Flash 执行到 if 语句时,先判断括号中condition逻辑表达式的计算结果,如果结果为 true 则执行所属当前 if 语句的程序代码。如果结果为 false,则察看当前 if 语句中是否有 else 或 else if 子句,如果有则继续计算判断,如果没有则跳过当前 if 语句内的所有程序代码继续执行。
例如:当以下代码检测变量X是否小于或者等于3时,如果检测结果返回(true)真,则执行花括号内的代码(停止主场景中MC的转动),如果为假,则找到与之匹配的else,判断执行else中的代码(mc继续转动);
if(x<=3){
_root.mc.stop();
}else{
_root.mc.play();
}
点击浏览该文件2.do..while
格式: do {
statements;
} while (condition) do while 语句,是 Flash Action 脚本中控制程序运行的语句,只要跳出循环的条件不满足,将重复执行某一动作语句若干次。在具体的代码执行过程中每当看到 while 语句时,计算并判断参数(condition)中的逻辑表达式结果,如果结果为 true 就继续执行该循环体(statements)中的程序代码,直至计算结果为 false 时跳出当前循环继续执行后面的语句。 例如:在下面的例子中,MC(一个绿色的球)将被复制50次。
j=0;
do{
duplicateMovieClip("MC","MC"+j,j);
setProperty("MC"+j,_y,random(400));
setProperty("MC"+j,_x,random(400));
setProperty("MC"+j,_alpha,(random(70)+30) );
j++;
}
while(j<50);