版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 循环程序结构,ActionScript语言中通过四种语句实现程序的循环,分别是while、do.while,for循环和for in循环语句。它们与if语句的最大区别在于,只要条件成立,循环里面的程序语句就会不断的执行。而if语句中的程序代码只可能被执行一次。 5.1 while循环语句 while语句的一般形式为: While(条件) 语句1; 语句2; ,执行循环里面的语句之前,while先判断条件是否成立,如果条件成立,如果条件成立,则先从“”开始的程序模块执行,执行到模块的结尾“”时,会再次检查条件是否依旧成立,如此反复执行直到条件不成立为止。 范例5-1:求1+2+3+100
2、的和 (1)新建一个Flash文档。 (2)选中第一帧,打开“动作”面板,输入下列代码:,var i = 1;/变量i用来控制循环 var sum = 0; /sum表示求和的结果,初始值为0 while (i=100) /当变量i的值小于等于100时 sum += i; /sum不断加上1 i+; /i递加 trace(sum); /输出结果 (3)测试影片,在上面的循环结构中,变量i的初始值为1,表达式i=100为真,变量sum加上1,然后i加上1等于2,再进行条件i=100判断,条件为真,这样循环执行,i一直自加到101,此时条件i=100为假,结束循环。这样程序共进行了100次循环。
3、在循环结构中,应有使循环趋向于结束的语句。如在本例的代码中,用变量i来控制,如果没有i的递加,循环将永不结束,如果一个程序执行时间超过15秒,Flash会提示错误信息。,在这段程序中,把i+写到循环条件的小括号中在Flash语句中是允许的,但是要注意循环的执行过程,如: var i = 1; var sum = 0; while (i+=100) sum += i; trace(sum); 这段程序和前面的程序结果不一样。 i+=100的意思是,首先进行i=100的判断,然后i加上1等于2,在执行sum+=2,首先从2开始计算,这是第一个问题所在。,当i=100时,条件还为真,i自加后等于10
4、1,因为这时条件还为真,还要执行sum+=101,这是第二个问题所在。这段程序实际是求2到101的和,少加了一个1,多加了一个101。 范例5-2:练习使用while语句,实现复制5个影片剪辑实例 打开源文件5-2.fla,在第一帧中加入如下代码:,var i = 1; var num = 5; while (i=num) duplicateMovieClip(ball, ball+i, i); thisball+i._x = ball._x+i*40; i+; 这段代码的作用是复制5个影片剪辑实例,实例名分别为ball、ball2、.ball5,并且设置这些实例的x坐标,让他们横相等距排列。
5、,5.2 do.while循环语句 do.while循环语句的一般形式为 Do 语句1; 语句2; while(条件); 和while循环命令相反,do.while循环语句是一种先斩后奏的循环语句,不管怎样,do的语句至少会执行一次,然后再判断条件是否要继续执行循环。如果while()里面的条件成立,它会继续执行do里面的程序语句,直到条件不成立为止。,5.3 for循环语句 for循环语句是功能最强大,使用最灵活的一种循环语句,它不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况。 5.3.1 for循环语句的一般形式 for循环语句的一般形式为 for(
6、初始表达式;条件表达式;递增表达式) 程序 For语句中有三个表达式,中间用分号隔开。第一个初始表达式通常用来设定语句循环执行次数的变量初值,这个表达式只会执行一次;,第二个条件表达式通常是一个关系表达式或者逻辑表达式,用来判定循环是否继续,第三个递增表达式是每次执行完“循环体语句”以后,就会执行的语句,通常就是用来增加或者减少变量的初值。 使用for语句计算1+2+.+100的循环程序如下: var sum=0 for(i=1;i=100;i+=2) sum=sum+i; trace(sum),5.3.2使用for循环语句的注意事项 为了使程序的效率更高,在初始表达式中var关键字来声明变量
7、,如: var sum=0 for(var i=2;i100;i+=2) /这里用var关键字来声明变量I sum=sum+I; trace(sum); 在初始表达式中可同时定义多个初始变量,两个表达式之间用逗号(,)隔开,如:,for(var i=2,sum=0;i100;i+=2) sum=sum+i; trace(sum); 初始表达式也可以省略,但必须在for语句循环之前初始化变量,如: var i=2,sum=0; for(;i100;i+=2) sum=sum+i; trace(sum); 当省略初始表达式时,其后的分号不能省略。,递增表达式也可以省略,但必须保证循环能正常结束,如
8、: for(var i=2,sum=0;i100;) sum=sum+i; i+=2; trace(sum); 程序中的i+=2用来结束循环。 在for语句中,可以同时省略初始表达式和递增表达式,如:,var i=2,sum=0; for(;i100;) sum=sum+1 i+=2; trace(sum); 这时的程序和while完全一样,所以可以用for语句代替while语句,也就是说,for语句的功能比while语句强大得多。,5.4 for.in循环语句 for.in循环的作用是通过数组中对象或元素的属性,并为对象的每个属性执行一定的程序。它的一般形式为 for(变量名 in 数组或对
9、象) 程序; 例如: var person=name:”mary”,age:20; /定义一个对象person,包括两个属性name和age,其值分别为“mary”和20。 利用forin循环还可以搜寻指定路径下的元件,如影片剪辑实例,按钮实例等。,范例5.5:让主场景中所有的影片剪辑实例停止播放 (1)新建一个Flash文档。 (2)在主场景中制作一个包含动作补间动画的影片剪辑实例,复制实例,随意分布在主场景中。 (3)单击第一帧,打开动作面板,输入下列代码: for (i in _root) if (typeof (_rooti) = movieclip) _rooti.stop(); ,
10、范例5.8:文字鼠标跟随特效 (1)新建一个大小为400*300的Flash文档。 (2)在场景中输入一个静态文本“鼠标跟随特效”,并将文字打散。 (3)选中第一个文字“鼠”,将其转换为text1的影片剪辑元件,保持文字的选中状态,命名为text1 (4)用同样的方法把其他文字转换为text2、text3、text4、 text5 、text6。这时在库中应有六个影片剪辑元件。,(5)在主场景中新建一名为“as”的图层,插入三个空白关键帧,单击第一帧,打开“动作面板”,输入下列代码: startDrag(text1, true); /拖动第一个文字 var distance = text1._width; /字符的间距为字符的宽度 var i = 6; /定义一变量,(6)单击第二帧,把帧标签设为loop,打开动作面板,输入下列代码: while (i1) thisx+i = thisx+(i-1)+distance; thisy+i = thisy+(i-1); i-; /利用while循环,x6x5,x4x3.,y6=y5,y5=y4. x1 = text1._x y1 = text1._y; /不断获取第1个实例的的坐标 while (i=6) thistext+i._x = thisx+i; thistext+i._y = thisy+i; i+;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习《中小学教师违反职业道德行为处理办法》心得体会
- 小区绿化提升考核细则
- 星级饭店贵宾接待服务规范
- 物业材料检验监理工作细则
- 机关单位管理制度汇编
- 机关文明创建不扎实整改措施
- 人工智能知识图谱构建与应用手册 (标准版)
- 橡胶制品脱模技巧与防损伤操作手册
- 奶粉生产浓缩干燥技术工作手册
- 少儿课堂纪律与常规管理手册
- 夏日游泳馆内秩序与安全管理 P课件
- 高铁桥梁施工方案及技术措施
- 2026年广西公需科目全套1卷《人工智能国家战略与政策通识》
- 2026年云南省中考语文试卷(含答案及解析)
- 2026年幼儿园生态教育
- 2026年新版事故应急处置卡模板(新版27类事故分类依据YJT 32-2025要求编制)
- 施工相邻建筑物保护措施方案
- 2026全球及中国MLCC用碳酸钡行业供需态势及前景动态预测报告
- (2026年)内蒙古赤峰市公务员遴选考试题及答案
- 20S515 钢筋混凝土及砖砌排水检查井
- 预防住院患者跌倒集束化护理措施和核查
评论
0/150
提交评论