发信人: younger.zz(多收了三五斗)
整理人: yufif(2003-09-27 16:15:47), 站内信件
|
2.2 分支和循环 (第九课)
2.2-4 switch
语法规范
switch (expr){
case: value
do something
[default:]
do something
}
参数解释
expr:任意表达式。
Case:case 关键字,Value是expr的值,如果在使用全等 (===) 的情况下,value值的类型要与 expr 的类型相匹配,才执行这组语句。
Default:关键字,其后跟着如果这些 case 表达式都不与 switch expr 参数全等 (===) 匹配时要执行的语句。
详细说明
switch是创建Action Script语句的分支结构。switch 动作测试一个条件,并在条件返回 true 值时执行语句。
实例示范
在下面的示例中,动态显示星期的方法之一。
这里使用了Date对象,具体的用法我们在后面会介绍,这里只需要了解,myDate.getDay()默认是返回一个0到6之间数字。6表示星期六,0表示星期日。在第一帧输入下列的Action Script:
myDate=new Date();
iDay=myDate.getDay();
switch (iDay) {
case 0:
trace ("今天是星期天”);
break;
case 1:
trace ("今天是星期一”);
break;
case 2:
trace ("今天是星期二”);
break;
case 3:
trace ("今天是星期三”);
break;
case 4:
trace ("今天是星期四”);
break;
case 5:
trace ("今天是星期五”);
break;
case 6:
trace ("今天是星期六”);
break;
default:
trace ("咦…今天是星期几呢?")
}
2.2-5 do while
语法规范
do {
statement(s)
} while (condition)
参数解释
condition:要计算的条件。
statement(s) :只要 condition 参数计算结果为 true 就会执行的语句。
详细说明
do while 是执行语句,指示只要条件为 true,就计算循环中的条件。
实例示范
下例是计算从1累加到100。并把结果从“输出窗口”中显示。请在第一帧输入如下Action Script:
var i = 0; //声明一个变量并赋值
var a = 0;
do {
a++;
i = i+a;
} while (a<100);
trace(i);
2.2-6 while
语法规范
while(condition) {
statement(s);
}
参数解释
condition:每次执行 while 动作时都要重新计算的表达式。如果该语句的计算结果为 true,则运行 statement(s)。
statement(s) :条件的计算结果为 true 时要执行的代码。
详细说明
while与do while的区别是,do while无论表达式的结果是否为true都会先执行一次循环体的语句,而while则先要判断条件成立才执行。只要该表达式为 true,就重复运行循环中的语句或语句序列。
在运行语句块之前,首先测试 condition;如果该测试返回 true,则运行该语句块。如果该条件为 false,则跳过该语句块,并执行 while 动作语句块之后的第一条语句。
通常当计数器变量小于某指定值时,使用循环执行动作。在每个循环的结尾递增计数器的值,直到达到指定值为止。此时,condition 不再为 true,且循环结束。
实例示范
下面的示例在主场景上复制6个MC(影片剪辑),每个MC的 x、y 位置,_alpha(透明度)和_xscale,_yscale(x,y的缩放)就是随机产生的。这里会用一个Random()函数,先简单介绍一下:random(num)是在0到num-1之间产生一个随机数
k = 0;
while(k < 7) {
duplicateMovieClip("iMc", "iMc" +k, k);
eval(“iMc”+k)._x=random(300);
eval(“iMc”+k)._y=random(300);
eval(“iMc”+k)._alpha=random(100);
eval(“iMc”+k)._xsacle=random(280);
eval(“iMc”+k)._ysacle=random(280);
k++;
}
2.2-7 for
语法规范
for(init; condition; next) {
statement(s);
}
详细说明
for是一种循环结构,指示首先计算 init表达式一次,只要 condition 的计算结果为 true,则按照以下顺序开始循环序列,执行 statement,然后计算 next 表达式。
参数解释
init:通常为赋值表达式。此参数允许使用 var 语句。
condition:计算结果为 true 或 false 的表达式。在每次循环迭代前计算该条件,当条件的计算结果为 false 时退出循环。
next:一个在每次循环迭代后要计算的表达式;通常为使用递加(++)或递减(--)运算符的赋值表达式。
statement(s) :在循环体内要执行的指令。
实例示范
例使用 for 在数组中添加元素:
for(i=1; i<6; i++) {
array [i] = “www”+i+”.8doo.com”;
trace(array[i]);//在输出窗口中显示。
}
//输出的结果为:
www1.8doo.com
www2.8doo.com
www3.8doo.com
www4.8doo.com
www5.8doo.com
2.2-8break
详细说明
break出现在一个循环(for、for..in、do while 或 while 循环)中,或者出现在与 switch 动作内特定 case 语句相关联的语句块中。break 动作可命令 Flash 跳过循环体的其余部分,停止循环动作,并执行循环语句之后的语句。当使用 break 动作时,Flash 解释程序会跳过该 case 块中的其余语句,转到包含它的 switch 动作后的第一个语句。使用 break 动作可跳出一系列嵌套的循环。
语法规范
break
实例示范
下面的示例使用 break 动作退出一个循环,如果没有该动作,则该循环为无限循环。
i = 0;
while (true) {
if (i >= 100) {
break;
}
i++;
}
----
》是什么让我成熟?是什么让我不哭?《
|
|