Flash中几种循环结构的特点及其区别
http://www.flashplayer.org.cn/
摘要ActionScript(以下称AS)是flash内置的脚本语言,如果没有AS,flashplayer将仅仅是美术工作者的天下,动画的好坏直接决定于你的绘画水平和创意。正因为AS的存在,才为更多的人开户了另一扇通向Flash动画世界的大门,用户不需要太多的绘画水平同样可以做出令人叫绝的动画。笔者在制件教学秘书培训课件时,总结出adobe flash player中比较典型的循环结构,让读者领会各种循环的特点和区别,感受AS的强大功能。
关键词Flash;循环;ActionScript
中图分类号TP31文献标识码A文章编号1674-6708(2012)58-0156-02
FlashintheCharacteristicsofSeveralDifferentLoopStructure LIUYi
ChinaWestNormalUniversity,Nanchong637009,SichuanProvince,china
AbstractActionScript(hereinafterreferredtoasAS)isaFlashbuilt-inscriptinglanguage,ifnotAS,Flashwillonly。Onlyartworkersoftheworld,animationisgoodorbaddependsonyourdrawingdirectlytothelevelandcreativity.BecauseofForthepresenceofAS,itaccountsformorepeopletoanotherworldofFlashanimationfantowardthedoor,youdonotneedToomanypaintingstothesamelevelcanmakeastunninganimation.SecretaryoftheauthorinpartsofteachingtrainingCourseware,summedupinFlashtypicalloopstructure,sothatthereaderunderstandthecharacteristicsofavarietyofrecyclingandDifference,feelthepowerofAS.
KeywordsFlash;loop;ActionScript
Flash动画以其强大的表现力和小巧的体积风靡一时,网络游戏、网络特效和互动广告都很火爆,成为网络动画的首选软件。然而在编程时许多问题都要用到循环结构,如复制影片剪辑等操作。
1while循环和do…while循环
while循环语句的一般形式为:
while(条件){ 循环体 }
while执行循环里面的语句之前,先判断条件是否成立,如果条件成立,则执行循环体,如此反复执行直到条件不成立为止。
do…while循环语句的一般形式为: do{ 循环体
}while(条件);
和while循环相反,do循环先执行一次循环体,然后再判断条件是否要继续执行循环,直到条件不成立为止。 2for循环
for循环语句的一般形式为:
for(初始表达式;条件表达式;增量表达式){ 语句序列 }
首先执行初始表达式,它通常是一个赋值语句,常用来对循环变量进行初始化。然后检查条件表达式,它通常是一个比较表达式,以便获得一个布尔值。当条件表达式的值为false时,循环终止;当条件表达式的值为true时,才执行语句序列。循环体被执行一次后,再执行增量表达式,以便条件表达式的值为false,得以结束循环。然后重新检验条件表达式,依次类推。 3帧循环
除了利用循环控制语句实现程序的循环结构外,在Flash中还有一种特殊的循环结构—帧循环。
帧循环的基本结构如下所示:
第一个关键帧:定义一个初始化变量,如: num=1;
第二个关键帧:循环体语句,如: 语句1; 语句2; …
第三个关键帧:用选择结构来判断是否退出循环,如:
if(xgotoAndPlay(2); }else{ stop(); }
这种循环结构是为了适应Flash动画时间轴的特殊程序执行环境,通过切换帧或者定时重复执行某段程序而产生的一种循环结构类型。这种循环最大的特点是利用gotoAndPlay()函数实现循环有一定的速度,这个速度取决于帧频。该结构和复制语句duplicateMovieClip()一起使用可以实现很多的艺术效果,如下雨、下雪等自然现象。如要用前面的几种循环结构则是画面一开始就有程序设定的影片剪辑个数,达不到所要的画面效果。如要通过手动方式画出每一帧的画面,则要花费很多的时间,效率低下。下面是不同时刻画面的运行效果图。
4setInterval()循环
setInterval()指令的功能类似于日常生活中的定时装置,每隔一段时间就自动运行交付的任务。语法如下:setInterval(函数名称,时间间隔);这个任务实际上就是通过语句定义的循环体。如要模拟自然现象礼花的绽放、下雨时打雷现象等等,都是按一定的时间来执行某种事件。下面的画面就是利用setInterval()指令来每隔5s产生的打雷画面。
Flash内置的AS有强大的编程功能,尤其是循环结构在很多的动画制作中都要用到。本文对其循环的特点和功能做了简单的总结,读者可以根据实际需要来选择相应的循环结构制作出个性十足、多彩多姿的Flash作品。 参考文献
[1]陈冬.FlashActionScript2.0互动编程从基础到应用[M].人民邮电出版社,2006.
[2]章精设.FlashActionScript2.0编程技术教程[M].清华大学出版社,2005.
[3]赵英杰.FlashActionScript高级编程艺术[M].电子工业出版社,2006.
[4]智丰电脑工作室.Flash绘画宝典[M].科学出版社,2007.
来自:http://www.flashplayer.org.cn/1138 www.itunes.net.cn