快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Flash的流程控制与循环控制语句

  众所周知,flash中动画依赖的是时间轴,在没有脚本的情况下,动画会依照时间轴从第一帧不停的播放到最后一帧,然后始重复播放或者干脆停止。为了能更好的控制动画,就必须使用脚本语句。而要想使动画具有逻辑判定的功能,就要使用流程控制和循环控制语句了!下面通过几个简朴的小例子来学习流程与循环控制语句。

  一、流程控制语句
  所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让flash根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些判定的机制。
  if...else控制语句
  根据英文的意思,大家可以简朴的理解上面的控制语句:假如...就...否则...就...   下面来看看这个流程控制语句的书写格式。
 if(条件){
   //条件成立的话,就执行这里的程序。
    }else{
  //条件不成立的话就执行这里的程序。
}
  下面重点说一下if后面括号内的条件。这个条件可以是一个固定的值,也可以是一个变量或表达式。假如条件成立的话,也就是条件为真(true),就会执行if后面的程序,假如条件不成立,也就是条件为假(false),就会执行else里的程序。例如:有这么一个条件,A>B 将这个表达式代入if后面的括号内,这个流程语句的意思就变成:假如A>B的话,就执行第一个大括号内的程序,假如A不大于B,就将执行else后面大括号内的程序。
  实例讲解:
  1、新建一个flash文档,在舞台上绘制一个圆,选中圆并按F8转变成影片剪辑,起名为:圆 这样就在舞台上创建一个圆的实例。

  2、选中舞台上的实例,按F9打开动作面板,输入如下脚本:
onClipEvent (enterFrame) {
if (this._x<400) {//流程条件控制语句,假如这个圆的实例的X轴坐标小于400,就执行后面的程序。
this._x += 5;//让这个圆的坐标向右移动5个象素
} else {
this._x = 0;//控制语句,假如刚才的条件不成立。也就是圆实例的X坐标不小于400,就让它的X坐标为0
}
}
  脚本最终编写效果如图:

  最终效果演示:(下载源文件点击这里
« Full Screen »

  上面的脚本是一个异常简朴的流程控制语句,根据实例的坐标来进行判定。因为我们使用了enterFrame事件,所以flash会不停的执行下面if...else语句。
  3、测试影片。会看到圆不停的向右移动,当它的X坐标大于或等于400的时候,程序会把它的X坐标重新更改为0。

  二、循环控制语句
  所谓的循环语句,其实也是用条件来控制的,只要条件成立,那么,程序就会不停的执行下去,一直执行到条件不成立为止!常用的循环语句包括while循环、for循环等。因为篇幅有限,下面只重点讲解for循环的使用方式。
  FOR循环命令格式:
  for(初始变量;条件语句;迭加命令语句){
        //用户自己编写的脚本。
         }
  首先强调一点,for语句的括号内有三个项目,必须要用分号间隔开!
  初始变量:循环语句也是用条件是否成立来控制的,通常我们用一个变量来控制程序执行的次数。那么,这个初始变量就要先定义一个值。要注重的是,初始变量这个项目只执行一次!
  条件语句:这个项目就是我们的判定语句了。假如这个项目判定为真(true),也就是条件成立了。它就直接跳进大括号{}内执行里面的程序!反之,假如条件为假(false),它就直接跳出这个for语句了。
  迭加命令语句:接上面的条件语句,假如条件语句成立,会执行{}内的程序,那么执行完程序之后,就要回来执行迭加命令语句了。通常它就用来增加或减少刚开始时的初始变量的值。
  实例讲解:
  1、新建一个flash文档,在舞台上绘制一个圆,选中圆并按F8转变成影片剪辑,起名为:圆 这样就在舞台上创建一个圆的实例。
  2、为这个实例起名为:yuan 如图:

  3、添加一个新的层,并选中新层的第一帧,按F9打开动作面板,输入如下脚本:
for (i=1; i<5; i++) { //我们定义一个变量i来控制程序的循环次数。条件语句为判定i是否小于5,迭加命令就让每次程序执行之后,让i自己增加一,使程序循环4次!
duplicateMovieClip("yuan", "yuan"+i, i);//duplicateMovieClip是复制命令,用来复制舞台上名字叫yuan的实例,每次复制出来一个,就把新复制出来的实例改名为"yuan"+i。影片的深度也改为i
_root["yuan"+i]._x = random(400);
_root["yuan"+i]._y = random(300);//设置每次复制出来的新实例的X、Y坐标,详细数值随机产生。
_root["yuan"+i]._alpha = random(100);//设置每次复制出来的新实例的透明度,详细数值从100里随机产生。
}
  假如大家实在觉得for语言很难读懂的话,你可以按照for语言执行的顺序把i=1代入程序走一遍,可以帮助你理解程序。例如:当i等于1的时候,程序开始判定它是否小于5,那么1肯定小于5了,条件为真,就执行{}内的复制程序,同时复制出来的新实例的名字就变成了yuan1 ,接着就是设置yuan1的坐标和透明度。之后,for语句开始回去执行i++,此时,i的值就变为2了。然后又开始循环判定执行下去......(你可以算一下,这个for循环总共循环了几次呢?答案是4次。)
  脚本如图:

  4、选中时间轴的第6帧,按F6插入一要害帧,打开动作面板输入以下脚本:
gotoAndPlay(1);
  让flash播放到第6帧的时候返回第1帧再来执行for循环语句。
  如图:

  5、测试效果吧,你会看到舞台上会循环4次复制出4个圆。
  最终效果演示:(下载源文件点击这里



 希望大家能通过这两个简朴的例子把握流程控制语句和循环控制语句


返回类别: Flash教程
上一教程: 教你做一个Flash的时钟
下一教程: Flash中的物理运动动画编程

您可以阅读与"Flash的流程控制与循环控制语句"相关的教程:
· Flash制作清新又不失闪炫的流程图
· FLASH条件和循环语句
· Flash 8 新特性:渐变控制与溢出
· 在flash中用javascript控制页面中的mediaplay
· flash影片web播放控制器制作祥解
    微笑服务 优质保证 索取样品