第五课 控制语句

闪客沙龙

文/小东瓜 修改/大成

 

 

  控制语句

  在Flash Action Script编程中常用的基本方法三种:顺序执行、条件控制及循环控制。这三种方式是Flash编程中较简单也最常用的。

  一、顺序执行

  这种方式最好理解,就是程序一条一条往下执行,不会跳转,执行顺序只跟代码排列的先后顺序有关。比如:

time = new Date();
hours = time.getHours();
minutes = time.getMinutes();
seconds = time.getSeconds();

提醒:
顺序执行语句在Flash中是用得最多的语句,其功能就是大体相当于给变量赋值,设置对象的属性等一些简单功能。

  二、条件控制

  条件转移方式主要是通过条件判断语句(If)来完成,if假如当条件成立时,执行“代码行系列1”,else否则,当条件不成立时执行“代码行系列2”。如此便完成了根据不同的条件来执行不同的语句的功能。

if (条件判断语句) {
 代码行系列1
} else {
 代码行系列2
}

  其实,Flash5的If语句不管你的代码行系列中是一行还是多行都得来用大括号"{}"把代码行括起来,这是它的规则。在Flash5中,条件控制语句不止一条,但都是大同小异,你只需了解一般的条件判断语句的用法,你就可以轻松地使用其它的语句了。

  条件控制是大多数程序分支程序中需要的控制方法,可以用来完成开关功能、选择功能、以及一些人工智能的东西。请看下面的代码:

if (Display eq "0" and not (Display eq ".")) {
Display = Digit;
} else {
Display = Display add Digit;
}

假如动态文本变量Display等于“0”,同时又不是“.”时,将单数字变量Digit赋值给动态文本变量否则,将动态文本变量Display(字符型)与单数字变量Digit(字符型)进行字符串加操作,其结果再赋值给动态文本变量Display。

if (i==1) {
attachMovie("Cabeza", "Pieza"+i, N+1-i);
} else if ( (i==4) || (i==14) ) {
attachMovie("Aletas", "Pieza"+i, N+1-i);
} else {
attachMovie("Espina", "Pieza"+i, N+1-i);
}

 

提醒:
1、条件控制语句中的else选项可要也可以不要。
2、条件控制语句可以嵌套使用,也就是上图中的代码2、代码3中还可以再包括条件控制语句,此项功能使得Flash5中的编程功能变得相当强大。只要你愿意,完全可以按你的要求来选择嵌套的层数


  三、循环控制

  循环控制是Flash5的另一个强大的控制功能,因为许多程序中有大量地方要求多次重复一段完全相同的代码。循环控制语句有for语句和while语句两种。

在下表中我们可以发现,在这里while循环和for循环他们的功能是完全相同的。需要注意的是while循环一般要在循环前设置初值,然后在循环体内修改相应的变量的值从而让程序执行了一段时间后可以退出。由前面两段程序可以看得出for语句与while语句的语法规则如下:

For循环规则
While循环规则
for(变量初值;变量条件;变量增减){
 循环代码行
}
while (条件表达式){
 循环代码行
}

 

我们可以看看下面的《鱼翔浅底》的给数组初始化的例子:

N=30

var x = new Array();
var y = new Array();

for (i=1;i<N;i++) {
x[i] = i;
y[i] = i+10;
}

变量初值:i=1; 意思是i变量从1开始。

变量条件:i<N; 意思是i变量到N结束。当i值小于N(30)时,做{ }内的程序段,否则退出,结束循环。

变量增减:i++ 等效于 i= i+1 每完成一次循环操作,变量i自动加1。

计算结果:

x[1]=1,x[2]=2,x[3]=3, x[4]=4,............x[27]=27, x[28]=28, x[29]=29

y[1]=11, y[2]=12, y[3]=13, y[4]=14,............y[27]=37, y[28]=38, y[29]=39

做任何事情讲究效率,编程更是如此。在此例中,用传统的“顺序执行”方式需要58条命令,而用循环控制语句和数组变量只用了6句命令。这就是循环控制语句的奥妙所在,也是编程思想的灵魂所在。

提醒:
1、循环控制中最容易出现的问题就是死循环,所谓死循环就是用来作为判断的条件始终为一个值,不发生改变,循环将会永不终止,这是在编程中得特别小心的。
2、循环中的边界值是最容易出错的,比如经常会因为边界值上差了一点,少循环或者多循环一次,从而使得程序发生不可预料的结果,这也是在编程时要特别注意的。

  经过本教程的讲解,你是否对Flash5编程控制方法有了一个大概的印象了吧,要指出的就是这三种控制方法不是孤立存在的,他们之间可以相互穿插,相互嵌套,只要你认真地去想,去实践,定会熟练的应用这三种程序控制办法来完成你所想要的功能的。