Flash AS 入门 “for”循环语句应用

所属分类: 媒体动画 / Flash教程 阅读数: 39
收藏 0 赞 0 分享

  这篇教程为“Flash AS 入门教程”的一部分。查看全套教程>>>>。

  源文件下载

  本节应掌握的知识要点:

  ①for循环应用;②nextFrame()、prevFrame()动作应用;③层深度的进一步理解。

  与条件判断语句一样,循环语句也是最具有实用性的语句,在满足条件时程序会不断重复执行,直到设置的条件不成立才结束循环,继续执行下面的语句。

  这1讲我们将学习一个最常用的for循环语句和两个动作语句nextFrame()、prevFrame()。

  for循环语句格式如下:

  for(变量初始值;循环条件;进入下一循环){

  条件成立时执行的动作}

  nextFrame()进入下一帧并停止在该帧

  prevFrame()返回前一帧并停止在该帧

  请看示例动画“实例1-8”。

  >>>>>点击查看动画效果<<<<<

  实例1-8 for()循环语句应用

  画面上是一个简单的线条变幻特效,点击“删除”按钮线条会全部消失,点击“向右”按钮,会显示另一个特效,如果不点击删除按钮直接点击“向右”按钮,会显示另一个特效。这个效果就是运用for循环语句对一个含有简单动作补间、实例名为“line”的影片剪辑进行循环复制实现的。

  打开源文件看看,场景上有【按钮】、【mc】、【as】3个图层。【按钮】图层第1帧上有一个“删除”按钮和一个“向右”按钮,第2帧上有一个“返回”按钮;【mc】图层上是一个实例名为“line_mc”的影片剪辑。

  在【as】图层第1帧上的语句:

  stop();

  line_mc._x=120;

  line_mc._y=220;

  line_mc._visible= 0; //设置作为父本的影片剪辑“line_mc”不可见。

  for (i=1; i<100; i++) { //设定变量i的初始值为1,设定循环条件为i<100,进入下一循环时变量i自加1。

  line_mc.duplicateMovieClip("line_mc"+i, i); //复制新影片剪辑。

  _root["line_mc"+i]._x = line_mc._x+3*i; //设置新复制的影片剪辑的横坐标。

  _root["line_mc"+i]._rotation = 3.6*i; //设置新复制的影片剪辑的旋转参数。

  }

  “删除”按钮上的语句:

  on (release) {

  for (i=1; i<100; i++) {

  removeMovieClip("line_mc"+i);

  }

  }

  “向右”按钮上的语句:

  on (release) {

  nextFrame(); // 进入并停止在下1帧

  }

  在【as】图层第2帧上的语句:

  for (i=2; i<100; i=i+2) {

  line_mc.duplicateMovieClip("line_mc"+i, i);

  _root["line_mc"+i]._x = line_mc._x+3*i;

  }

  “返回”按钮上的语句:

  on (release) {

  prevFrame(); //返回前1帧

  }

  我们来分析一下语句的执行过程,影片开始播放时停留在第1帧上,将被复制的父本影片剪辑在场景上的坐标定义到(120,200)位置,并使其不可见,接下来根据for语句小括号“()”里设置的参数,开始执行循环体内的语句。第一个参数定义了变量i被赋予初始值为“1”,第2个参数定义了循环的条件为i<100,当满足这个条件时,将循环执行大括号“{}”内的语句块,第3个参数i++,定义了在每一次循环结束时i的值加1,直到超过i<100的条件为止才停止循环。

  循环体大括号“{}”内的动作是复制实例名为“line_mc”的影片剪辑,并为新复制的影片剪辑命名为“line_mci”,层深度为“i”,设置其横坐标位置为场景上的父本“line_mc”影片剪辑的横坐标加上“3*i”像素,并旋转3.6*i度。

  当循环开始时,i的值为1,符合i<100的条件,于是复制出第一个新影片剪辑,名称为“line_mc1”,在父本“line_mc”的位置上右移3个像素,并旋转3.6度。至此第一次循环结束,i的值加1。继而进行下一轮循环。

  如此不断的循环,直至i的值为100时,便超出了设置的条件,于是循环结束,停止复制“line_mc”影片剪辑。

  此时,场景上新复制出的影片剪辑以横向相差3像素、旋转相差3.6度等距排列并同时播放,从而形成了有规律奇妙变幻的特效。

  再来分析“删除”按钮上的语句,与第1帧上的循环条件一样,差别只是循环体内执行的动作不同,当满足条件时循环删除上一步新复制出的所有影片剪辑。

  点击“向右”按钮时,播放头进入第2帧,再按照新的循环条件循环复制线条,并为新复制的线条赋予新的属性值。

  可以看到,第2帧的语句里,循环条件里面i的初始值为2,每循环一次i递增2,设置的层深度为i,即每个复制出的新影片剪辑所占用的都为偶数深度层。

  新影片剪辑的属性设置与第1帧上所不同的仅仅是减去了旋转属性的设置,我们看到的又是第2种特效。

  如果在第1帧不点击“删除”按钮而直接点击“向右”按钮,我们会看到第3种特效。这是由于上一次复制的影片剪辑没有删除,在第2帧上所有偶数深度层上的线条被新复制出的线条替换掉了,而奇数深度层上原来的线条则保留了下来,由此就组合出了另一种效果。   点击第2帧上的“返回”按钮,播放头回到第1帧,再一次按照第1帧的动作脚本循环复制“line_mc”,于是第一个特效又出现在场景上。

  在设置循环语句的条件时,必须注意条件的逻辑性和合理性,特别要避免程序陷入死循环。

  比如,如果将以上for循环的参数设置为for(i=1; i>0; i++),这个条件就会永久成立,导致程序陷入死循环。

  课后练习:

  利用实例8源文件,按以下要求完成练习:

  1. 在第1帧用for语句复制出60根线条,通过设置旋转属性形成一个变幻的圆环状特效,并居中显示。

  2. 点击“向右”按钮即在第2帧复制出100根线条,通过设置其y坐标属性、横向缩放属性和旋转属性形成第2个特效。居中显示。

  3. 点击第2个特效画面的“向左”按钮返回第1个特效,点击“向右”按钮显示第3个组合特效。

  >>>>>点击查看动画效果<<<<<

  课后练习1-8效果

  这篇教程为“Flash AS 入门教程”的一部分。查看全套教程>>>>。

更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多