|
三、循环控制
循环控制是Flash5的另一个强大的控制功能,因为许多程序中有大量地方要求多次重复一段完全相同的代码。也就是左边图形中的“代码2”,当循环条件不再满足时就退出循环,转而执行后面的“代码3”,你可以看看下面的例子:
result = 1; for (i=1;i<=10;i++) { result = result*i; }
你别小看这几行代码,执行下来,result的结果将是10!=3628800,这个表达式在数学中用得很多。 在这里用的是for 循环,这种循环的特点就是已经循环次数,当循环次数到了时循环体代码就会结束然后执行循环体外面的代码。这里用来判断的条件是:i<=10,也就是i是否小于等于10,每循环一次i就加1,语句是i++,i的初值是1。Flash5还有另一种循环方式,那就是while循环,与For循环不同的是它的条件控制更加灵活,甚至可以有多种条件的组合。前面的这段代码用while循环实现的程序如下:
result = 1; i = 1; while (i<=10) { result = result*i; i++; }
细心的读者可以发现在这里while循环比for循环要复杂一些,至少语句要多两条,其实他们的功能是完全相同的。在这里用来判断的条件仍是i<=10,需要注意的是while循环一般要在循环前设置初值,然后在循环体内修改相应的变量的值从而让程序执行了一段时间后可以退出。由前面两段程序可以看得出for语句与while语句的语法规则如下:
|
For循环规则 |
While循环规则 |
|
for(变量初值;变量条件;变量增减){ 循环代码行 } |
while (条件表达式){ 循环代码行 } |
前面我讲的是这种循环方式的共性,它们之间的差别我将在以后的教程中来讲。
|
提醒: 1、循环控制中最容易出现的问题就是死循环,所谓死循环就是用来作为判断的条件始终为一个值,不发生改变,循环将会永不终止,这是在编程中得特别小心的。 2、循环中的边界值是最容易出错的,比如经常会因为边界值上差了一点,少循环或者多循环一次,从而使得程序发生不可预料的结果,这也是在编程时要特别注意的。 |
我想经过本教程的讲解,你是否对Flash5编程控制方法有了一个大概的印象了吧,我想要指出的就是这三种控制方法不是孤立存在的,他们之间可以相互穿插,相互嵌套,只要你认真地去想,去实践,定会熟练的应用这三种程序控制办法来完成你所想要的功能的。当然,Flash用来控制的基本方法以不止这几种,还有自定义函数与子程序,这个将在后面的学习中讲到。 |