鬼泣动画片哪里能看:Flash函数大全之五. 条件/循环

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 20:23:14
五. 条件/循环 : 条件语句和循环构造(一)
1. Break
可用性 Flash Player 4 。用法 break 参数无。返回无。说明动作;出现在一个循环( for 、 for..in 、 do
while 或 while 循环)中,或者出现在与 switch 动作内特定 case 语句相关联的语句块中。 break 动作可命令 Flash
跳过循环体的其余部分,停止循环动作,并执行循环语句之后的语句。当使用 break 动作时, Flash 解释程序会跳过该 case
块中的其余语句,转到包含它的 switch 动作后的第一个语句。使用 break 动作可跳出一系列嵌套的循环。示例下面的示例使用 break
动作退出一个循环,如果没有该动作,则该循环为无限循环。 i = 0; while (true) { if (i >= 100) { break; }
i++; } 另请参见 for for..in do while while switch case
2. case
可用性 Flash Player 4 。用法 case expression : statements 参数 expression 任何表达式。
statements 任何语句。返回无。说明关键字;定义用于 switch 动作的条件。如果 case 关键字后的 expression
参数在使用全等 ( === ) 的情况下等于 switch 动作的 expression 参数,则执行 statements 参数中的语句。如果在
switch 语句外部使用 case 动作,则将产生错误,脚本不能编译。另请参见 switch default break === (全等)
3. continue
可用性 Flash Player 4 。用法 continue
参数无。返回无。说明动作;出现在几种类型的循环语句中;它在每种类型的循环中的行为方式各不相同。在 while 循环中, continue 可使
Flash 解释程序跳过循环体的其余部分,并转到循环的顶端(在该处进行条件测试)。在 do while 循环中, continue 可使 Flash
解释程序跳过循环体的其余部分,并转到循环的底端(在该处进行条件测试)。在 for 循环中, continue 可使 Flash
解释程序跳过循环体的其余部分,并转而计算 for 循环的后表达式 (post- expression) 。在 for..in 循环中,
continue 可使 Flash 解释程序跳过循环体的其余部分,并跳回循环的顶端(在该处处理下一个枚举值)。另请参见 do while for
for..in while
4. Default
可用性 Flash Player 6 。用法 default: statements 参数 statements 任何语句。返回无。说明关键字;定义
switch 动作的默认情况。对于一个给定的 switch 动作,如果该 switch 动作的 Expression 参数与 case
关键字后面的任何一个 Expression 参数都不相等(使用全等),则执行这些语句。 switch 不必一定有 default 情况。
default 情况也不必出现在列表的最后。在 switch 动作外部使用 default 动作是错误的,脚本将不编译。示例在下面的示例中,表达式
A 与表达式 B 或 D 不相等,所以运行 default 关键字后面的语句,并将 trace 动作发送到输出窗口。 switch ( A ) {
case B: C; break; case D: E; break; default: trace ( “ nospecific case was
encountered ” ); } 另请参见 switch case break
5. do while
可用性 Flash Player 4 。用法 do { statement(s) } while ( condition ) 参数
condition 要计算的条件。 statement(s) 只要 condition 参数计算结果为 true
就会执行的语句。返回无。说明动作;执行语句,然后只要条件为 true ,就计算循环中的条件。另请参见 break continue
6. else
可用性 Flash Player 4 。用法 else statement else {...statement(s)...} 参数
condition 计算结果为 true 或 false 的表达式。 statement(s) 如果 if 语句中指定的条件为 false
,则运行的替代语句系列。返回无。说明动作;指定当 if 语句中的条件返回 false 时要运行的语句。另请参见 if
7. else if
可用性 Flash Player 4 。用法 if ( condition ){ statement(s) ; } else if (
condition ){ statement(s) ; } 参数 condition 计算结果为 true 或 false 的表达式。
statement(s) 如果 if 语句中指定的条件为 false ,则运行的替代语句系列。返回无。说明动作;计算条件,并指定当初始 if
语句中的条件返回 false 时要运行的语句。如果 else if 条件返回 true ,则 Flash 解释程序运行该条件后面花括号 ( {} )
中的语句。如果 else if 条件为 false ,则 Flash 跳过花括号中的语句,运行花括号之后的语句。在脚本中可以使用 elseif
动作创建分支逻辑。示例下面的示例使用 else if 动作检查对象的每一边是否都在特定的边界内: // if the object goes off
bounds, // send it back and reverse its travel speed if
(this._x>rightBound) { this._x = rightBound; xInc = -xInc; } else if
(this._x(this._y>bottomBound) { this._y = bottomBound; yInc = -yInc; } else if
(this._y

 

--

五. 条件/循环 : 条件语句和循环构造(二)
1. for
可用性 Flash Player 5 。用法 for( init; condition; next ) { statement(s); } 参数
init 一个在开始循环序列前要计算的表达式,通常为赋值表达式。此参数还允许使用 var 语句。 condition 计算结果为 true 或
false 的表达式。在每次循环迭代前计算该条件;当条件的计算结果为 false 时退出循环。 next
一个在每次循环迭代后要计算的表达式;通常为使用 ++ (递增)或 -- (递减)运算符的赋值表达式。 statement(s)
在循环体内要执行的指令。说明动作;一种循环结构,首先计算 init (初始化)表达式一次,只要 condition 的计算结果为 true
,则按照以下顺序开始循环序列,执行 statement ,然后计算 next 表达式。一些属性无法用 for 或 for..in
动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array 对象的枚举中,而影片剪辑属性,如 _x 和 _y
,也不能枚举。示例下面的示例使用 for 在数组中添加元素: for(i=0; i<10; i++) { array [i] = (i +
5)*10; trace(array[i]); } 在输出窗口中显示下列结果: 50 60 70 80 90 100 110 120 130 140
下面是使用 for 重复执行同一动作的示例。下面的代码中, for 循环将从 1 到 100 的数字相加: var sum = 0; for
(var i=1; i<=100; i++) { sum = sum + i; } 另请参见 ++ (递增) -- (递减) for..in var

2. for..in
可用性 Flash Player 5 。用法 for(v ariableIterant in object ){ statement(s); }
参数 variableIterant 作为迭代变量的变量名,引用数组中对象或元素的每个属性。 object 要重复的对象的名称。
statement(s) 要为每次迭代执行的指令。返回无。说明动作;循环通过数组中对象或元素的属性,并为对象的每个属性执行 statement
。一些属性无法用 for 或 for..in 动作进行枚举。例如, Array 对象的内置方法( Array.sort 和)不包括在 Array
对象的枚举中,而影片剪辑属性,如 _x 和 _y ,也不能枚举。 for..in 结构迭代所迭代对象的原型链中对象的属性。如果 child 的原型为
parent ,则用 for..in 迭代 child 的属性,也将迭代 parent 的属性。 for..in
动作枚举对象原型链中的所有对象。首先枚举该对象的属性,接着枚举其直接原型的属性,然后枚举该原型的原型的属性,依次类推。 for..in
动作对于同一属性名不枚举两次。如果对象 child 具有原型 parent ,而这两个对象都包含属性 prop ,则对 child 调用的
for..in 动作枚举来自 child 的 prop ,而忽略 parent 中的该属性。示例下面的示例使用 for..in 迭代某对象的属性:
myObject = { name:\'Tara\', age:27, city:\'San Francisco\' }; for (name in
myObject) { trace ("myObject." + name + " = " + myObject[name]); }
此示例的输出如下所示: myObject.name = Tara myObject.age = 27 myObject.city = San
Francisco 下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child : for (name in
myMovieClip) {if (typeof (myMovieClip[name]) = "movieclip") { trace ("I
have a movie clip child named " + name); } }
下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧。 RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:
_RedRadioButton_ 、 _GreenRadioButton_ 和 _BlueRadioButton 。 for (var name
in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }
3. if
可用性 Flash Player 4 。用法 if( condition) { statement(s) ; } 参数 condition
计算结果为 true 或 false 的表达式。 statement(s) 如果或当条件的计算结果为 true
时要执行的指令。返回无。说明动作;对条件进行计算以确定影片中的下一步动作。如果条件为 true ,则 Flash 将运行条件后面花括号 ( {} )
内的语句。如果条件为 false ,则 Flash 跳过花括号内的语句,运行花括号后面的语句。使用 if
动作可在脚本中创建分支逻辑。示例在下面的示例中,括号内的条件对变量 name 进行计算以查看其是否具有文本值“ Erica
”。如果有,则运行花括号内的 play 动作。 if(name == "Erica"){ play(); } 示例下面的示例使用 if
动作计算用户何时释放影片中的可拖动对象。如果对象在拖动后 300 毫秒之内被释放,则条件的计算结果为 true
,并运行花括号内的语句。这些语句设置变量以存储对象的新位置、拖放对象的难易程度和拖放对象时的速度。 timePressed
变量也将被重置。如果对象在拖动后超过 300 毫秒之后被释放,则条件的计算结果为 false ,并且不运行任何语句。 if
(getTimer()was thrown. // what is the new location of this object? xNewLoc = this._x;
yNewLoc = this._y; // how hard did they throw it? xTravel = xNewLoc-xLoc;
yTravel = yNewLoc-yLoc; // setting the speed of the object depending on //
how far they travelled with it xInc = xTravel/2; yInc = yTravel/2;
timePressed = 0; } 另请参见 else
4.
可用性 Flash Player 4 。用法tch ( expression){ caseClause : [ defaultClause :] }
参数 expression 任意表达式。 caseClause 一个 case 关键字,其后跟着表达式、冒号和一组语句,如果在使用全等 ( ===
) 的情况下,此处的表达式与tch expression 参数相匹配,则执行这组语句。 defaultClause 一个 default
关键字,其后跟着如果这些 case 表达式都不与tch expression 参数全等 ( === )
匹配时要执行的语句。返回无。说明动作;创建动作脚本语句的分支结构。像 if 动作一样,tch 动作测试一个条件,并在条件返回 true
值时执行语句。示例在下面的示例中,如果 number 参数的计算结果为 1 ,则执行 case 1 后面的 trace 动作,如果 number
参数的计算结果为 2 ,则执行 case 2 后面的 trace 动作,依此类推。如果 case 表达式都不匹配 number 参数,则执行
default 关键字后面的 trace 动作。tch (number) { case 1: trace ("case 1 tested
true"); break; case 2: trace ("case 2 tested true"); break; case 3: trace
("case 3 tested true"); break; default: trace ("no case tested true") }
在下面的示例中,第一个 case 组中没有 break ,因此如果 number 为 1 ,则 A 和 B 都被发送到输出窗口:tch
(number) { case 1: trace ("A"); case 2: trace ("B"); break; default trace
("D") } 另请参见 === (全等) break case default if
5. while
可用性 Flash Player 4 。用法 while( condition ) { statement(s) ; } 参数 condition
每次执行 while 动作时都要重新计算的表达式。如果该语句的计算结果为 true ,则运行 statement(s) 。 statement(s)
条件的计算结果为 true 时要执行的代码。返回无。说明动作;测试表达式,只要该表达式为 true
,就重复运行循环中的语句或语句序列。在运行语句块之前,首先测试 condition ;如果该测试返回 true ,则运行该语句块。如果该条件为
false ,则跳过该语句块,并执行 while
动作语句块之后的第一条语句。通常当计数器变量小于某指定值时,使用循环执行动作。在每个循环的结尾递增计数器的值,直到达到指定值为止。此时,
condition 不再为 true ,且循环结束。 while 语句执行下面一系列步骤。步骤 1 至 4
的每次重复叫做循环的“迭代”。在每次迭代的开始重新测试 condition ,如下面的步骤所述: 1 计算表达式 condition 。 2 如果
condition 的计算结果为 true ,或者一个可转换为布尔值 true 的值(比如一个非零数字),则转到步骤 3 。否则, while
语句结束,并从 while 循环之后的下一语句恢复执行过程。 3 运行语句块 statement(s) 。 4 转到步骤 1
。示例此示例在舞台上复制五个影片剪辑,每个影片剪辑具有随机生成的、位置; xscale 、 yscale 以及 _alpha 属性以达到分散的效果。
. 变量 foo 初始化为值 0 。设置 condition 参数使 while 循环运行五次,即只要变量 foo 的值小于 5 就运行。在
while 循环中,复制影片剪辑,并使用 setProperty 调整所复制影片剪辑的各种属性。循环的最后一条语句递增 foo ,以便当该值达到 5
时, condition 参数计算结果为 false ,从而不再执行该循环。 on(release) { foo = 0; while(foo <
5) { duplicateMovieClip("_root.flower", "mc" + foo, foo); setProperty("mc"
+ foo, _x, random(275)); setProperty("mc" + foo, _y, random(275));
setProperty("mc" + foo, _alpha, random(275)); setProperty("mc" + foo,
_xscale, random(200)); setProperty("mc" + foo, _yscale, random(200));
foo++; } } 另请参见 do while continue for for..in