当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash 动作脚本之:资料速查(9)

Flash动画制作
Flash新手入门教程:AS2代码中duplicateMOvieClip的应用
Flash新手入门教程:AS代码实现漂亮的立体球旋转效果
Flash新手入门教程:AS代码打造漂亮的螺旋上升效果
Flash新手入门教程:初识Flash的开始页面、界面、工具栏
Flash新手入门教程:文件的导出和导入
Flash新手入门教程:AS入门第一课_认识编程环境
Flash cs3仿真艺术设计3.2:遮罩运用制作飘扬的旗帜
Flash AS3.0菜鸟学飞教程:创建Bitmap类
Flash AS 3.0入门教程:初识AS 3.0
Flash cs3仿真艺术设计3.3:遮罩运用打造光圈变换效果
Flash AS3.0菜鸟学飞教程:用反射动态创建实例
Flash cs3仿真艺术设计3.4:遮罩运用制作手写字效果
Flash cs3仿真艺术设计3.5:遮罩运用之聚光灯效果
Flash AS3.0菜鸟学飞教程:代码的位置
Flash实例教程:AS 3.0打造漂亮的水汶效果
Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果
Flash AS 3.0实例教程:Main类打造发散效果
Flash cs3仿真艺术设计4.1:阴影的基本运用
Flash cs3仿真艺术设计4.2:阴影之投影的应用
Flash cs3仿真艺术设计4.3:阴影之透视阴影

Flash动画制作 中的 Flash 动作脚本之:资料速查(9)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 68 ::
收藏到网摘: n/a

在脚本中控制流向

    

在脚本中控制流向

  ActionScript使用if、for、while、do...while和for...in动作,依据某个条件是否存在执行某个动作。

一、使用“if”语句

  检查一个条件是真或假(true 或false)的语句以if 开头。如果条件存在,ActionScript执行接下来的语句。如果条件不存在,ActionScript跳转到本代码块以外的下一语句。

  要优化你的代码的性能,首先检查最有可能存在的条件。

  下面的语句测试几个条件。 else if 指定如果前面的条件是假(false)时可选的测试。

if ((password == null) || (email == null)){ gotoAndStop("reject");} else { gotoAndPlay("startMovie");}


二、重复执行动作

  ActionScript可以重复执行动作,可以按指定次数重复执行,或指定条件存在时重复执行。在ActionScript中,使用while、do...while、for和for...in动作创建循环。

1.当条件存在时重复执行动作

  使用 while 语句实现。while循环先计算一个表达式,当表达式的值为真(true)时,执行循环体中的代码。在循环体中的每个语句被执行后,再次计算表达式。 在下面的例子中,循环执行4次:

i = 4while (i $#@62; 0) { myMC.duplicateMovieClip("newMC" + i, i ); i --; }

  也可以使用do...while语句创建与while循环同类的循环。在do...while循环中,表达式的计算在代码块底部进行,因而该种循环至少运行一次,如下所示:

i = 4do { myMC.duplicateMovieClip("newMC" +i, i ); i --; } while (i $#@62; 0);

2.使用内建计数器重复执行动作

  使用 for 语句实现。大多数循环使用某种计数器控制循环运行的次数。可以先声明一个变量,然后写一个语句,在每次执行循环之后增加或减少该变量的值。在for动作中,计数器和增加计数器的语句是该动作的组成部分,如下所示:
for (i = 4; i $#@62; 0; i--){
myMC.duplicateMovieClip("newMC" + i, i + 10);
}


3.要循环处理电影剪辑或对象的子项

  使用for..in 语句实现。子项包括其它电影剪辑、函数、对象和变量。下面的例子使用trace动作在输出窗口打印循环处理的结果:
myObject = { name:’Joe’, age:25, city:’San Francisco’ };
for (propertyName in myObject) {
trace("myObject has the property: " + propertyName + ", with the value: " + myObject
[propertyName]);
}

这个例子在输出窗口中输出如下结果:
myObject has the property: name, with the value: Joe
myObject has the property: age, with the value: 25
myObject has the property: city, with the value: San Francisco
  如果希望脚本可以重复处理特定类型的子项,如仅处理电影剪辑子项。可以使用 for...in语句和typeof操作符。

for (name in myMovieClip) {
if (typeof (myMovieClip[name]) == "movieclip") {
trace("I have a movie clip child named " + name);
}
}
  注:for..in语句重复处理对象原型链中的对象属性。如果子对象的原型是parent,for..in也将重复处理parent的属性。