循环结构 - ActionScript 动作脚本一点通-第6课

本节课时长10分20秒,下载文件5.41兆字节。下载后用浏览器打开HTML文档可以观看讲解。

上节课中,我们提到,基本的程序流程控制,一共包括三种基本结构,今天介绍第三种——“循环结构”。

循环分为两种。一种是每隔一段时间执行一次,这种循环叫“等时循环”,例如每隔一秒钟就打印一个数字,或者每隔10个帧就检查一次数据,这是利用Flash的时间轴来实现的;另一种是在同一个帧中执行的循环,这种循环叫做“同帧循环”,例如在某一帧中,要计算从1+2+3+……+100的值,那么就要求在进入下一帧之前计算完毕。需要注意的是。这两种循环方式是完全不同的,完成的功能也是不同的。

本节先学习同帧循环。

首先来了解一下while循环,“while”循环的使用格式为:


while (条件) {
执行语句();
}

其中“条件”是循环的条件,如果条件成立,则在循环返回以再次计算条件之前执行一条语句或一系列语句。如果条件不成立,那么跳过该语句或语句系列并结束循环。

下面看一个实例:计算“1 + 2 + 3 + …… + 100”的值。先分析操作思路如下:
(1)按照四则运算的规则,就是先计算1+2的和,再加上3得到1+2+3的和,再加上4得到1+2+3+4的和……这样处理到100,就完成了整个叠加过程。
(2)为了得到各次累加的和,就需要一个变量Total,它开始是0,第一次将它加上1,第二次将它加上2,第三次将它加上3……这样处理100次,就得到了从1累加到100的结果。
(3)为了得到每次的加数,还需要一个变量n,它开始是1,第二次变成2,第三次变成3……每次增加1,一直到100为止。

有了上面的分析,就可以开始编程了。创建一个Flash文档,单击选择第1帧,按“F9”键打开“动作”面板,在脚本窗口中键入以下代码:


var Total:Number = 0; // 1
var n:Number = 1; // 2
while (n <= 100) { // 3
Total += n;
n++;
}
trace("Total = " + Total); // 4

其中带有注释序号的语句解析如下:
注释语句1:创建变量Total,用于记录叠加的和。将它的初始值设置为0。
注释语句2:创建变量n,用于记录每次的加数。将它的初始值设置为1。
注释语句3:在n小于或者等于100的情况下进行循环。在每次循环中,将n的值叠加到Total,然后n自身增加1。
注释语句4:计算完毕,打印Total的值。

理解了“while”循环之后,再来看看“do-while”循环,“do-while”循环的使用格式为:


do {
执行语句();
} while (条件)

与 while 循环类似,不同之处是在对条件进行初始计算前执行一次语句。随后,仅当条件计算结果是 true 时执行语句。“do…while”循环确保循环内的代码至少执行一次。尽管这也可以用 while 循环通过在 while 循环开始前放一段要执行的语句副本来实现,但有些程序员认为“do…while”循环更易于阅读。

除了上面两种循环结构,还有一种非常常用的“for”循环,使用“for”循环可以在一开头就明确指定循环前的数据状态、循环条件和下一步处理的内容,从而让循环过程变得严整。使用格式为:


for(初值; 循环条件; 下一步处理) {
执行语句();
}

其中“初值”是在开始循环序列前要计算的表达式,通常为赋值表达式。循环序列会计算“循环条件”表达式。如果循环条件成立,那么就执行“执行语句”的内容,然后进行“下一步处理”的内容。

下面仍然以上面的加法为例,计算“1 + 2 + 3 + …… + 100”的值。


var Total:Number = 0;
var n:Number;
for (n = 1; n <= 300; n++) {
Total += n;
}
trace("Total = " + Total);

其他一些更为深入的内容,请大家观看视频演示中的讲解。

9,816


欢迎您发表留言

(须填写)
(须填写,不公开)
请注意:这里输入的HTML代码会被屏蔽,如果需要讨论复杂的具体代码问题,请到我们的论坛发贴,谢谢!

7条留言