发信人: 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++; 
 } 
 
 
 
  ----
  
 》是什么让我成熟?是什么让我不哭?《    
 
  
     
         | 
 
 
 |