网站大量收购闲置独家精品文档,联系QQ:2885784924

while与dowhile循环循环语句的嵌套组件..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
while与dowhile循环循环语句的嵌套组件.

8、FLASH脚本-while与 do while循环、循环语句的嵌套、组件?? 2010-09-26 16:05:57|??分类:?AS2.0课堂?|??标签:flash教程??|字号?订阅 ? 二十二、while与?do while循环 在编程的许多问题中都要用到循环结构,比如要对?10?个数字的排序,两个数字之间的比较,如果采用选择结构,进行的条件分支非常多,所以写的代码也相当长,利用循环结构可快速解决这个问题,大大提高程序的效率. ActionScript?语言中可通过四种语句实现程序的循环,分别是?while、do...while、for?循环和for in?循环语句.它们与?if?语句的最大区别在于只要条件成立,循环里面的程序语句就会不断地重复执行.而?if语句中的程序代码只可能被执行一次.? while?的格式如下:? while(条件表达式) {? 循环体;? }? ????说明:在运行语句块之前,首先测试条件表达式;如果该测试返回?true,则运行该语句块。如果该条件为?false,则跳过该语句块,并执行?while?动作语句块之后的第一条语句。其流程图如图所示: 通常当计数器变量小于某指定值时, 使用循环执行动作。在每个循环的结尾递增计数器的值,直到达到指定值为止。此时,件条表达式的返回值不再为?true,且循环结束。? 求?1 + 2+ 3+…+100?的和? ????新建一个?FLASH?文档,在第一帧打开动作面板,输入下列代码:? var i = 1;? var sum = 0;? while (i=100) {? sum += i;? i++;? }? trace(sum) //5050 ????代码执行过程:? ????在上面的循环程序中,变量?i?的初始值是?1,表达式?i=100?为真,变量?sum?加上?1,然后?i+1?等于?2。再进行?i=100的判断,条件真,sum?再加上?2,i?又加上?2?等于?3,这样循环执行,i?一直自加到?101,此时条件?i=100?为假,结束循环。这样程序共进行了?100?次判断,也就是进行了?100?次循环,100?次执行表达式?sum+=i,这样就算出了?1+2+3+… +100?和。? ????注意:在循环结构中,应该有使循环趋于结束的语句,在本例的代码中,用变量?i?来控制,i?不断递加到?101,使条件为假,结束循环。? ????在前面我们知道?enterFrame?事件也是循环执行的,但是循环结构的执行要快的多,我们通过下面的小程控来测试?while语句的执行速度:? var t = getTimer()/1000;//开始时间以秒为单位? var i = 0;? while (i1000) {? i++? }//进行?100?次循环? trace(getTimer()/1000-t+秒);? //结束时间减去开始时间,即循环所需时间. 用?while语句优化代码? ????大家还记得在第十四课中我们用加法赋值作了一个鼠标跟随效果, 当时每个字我们都要分别设置它的_x?和_y。如果有?10个字就要写?20?行语句,如果?100?个字呢,那不是就很麻烦吗?我们用?while就可以把代码优化了。? ????打开第十四课鼠标跟随特效源文件,把第?1?帧上的代码删除,选中第?1?个字的影片剪辑元件,打开动作面板,输入代码:? onClipEvent (enter Frame) {? var i = 1;? while (i=6) {? _root.mc1._x += (_root._xmouse-_x)/5;? _root.mc1._y += (_root._ymouse-_y)/5;? _root[mc+i]._x += (_root[mc+(i-1)]._x-_root[mc+i]._x)/5+8;? _root[mc+i]._y += (_root[mc+(i-1)]._y-_root[mc+i]._y)/5;? i++;? }? }????????//第六行“+8”是使每个字之间有距离,不至于象优化前一样重叠在一起---老虎注。 说明:? (1)如果字的个数增加了,只需改条件即可,例如是?10?个字,那么只需把条件?i=6?改为? i=10?就可以了。? (2)由于我们用了?enter Frame事件,所以第?2?帧就可以不要了。? 用?while循环实现批量复制影片剪辑? ????打开源文件(老虎电脑E盘“AS自学作业”中的“动态设置和获敢影片剪辑属性.fla”),场景第一帧加上代码:? var i = 1;? var num = 5;? while (i=num) {? attachMovie(qiu, qiu+i, i);? _root

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档