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

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

学习笔记:飘动的汽泡

  实例效果:

« Full Screen »

  工具:flash2004
思路:

  1.水泡的_x是左右随机晃动的,可以设定一个变量,让这个变量在某段x坐标内随机取值,取值之后,让_x趋向变量移动,移动到变量点时,变量再重新取值,_x再趋向变量移动。_x永远向变量方向移动。
2.用attachMovie来复制泡泡,用unloadMovie实现卸载泡泡。
3.以帧来实现循环,以便产生多个泡泡。

  做法:

  第一步: 新建文件,长宽为300×200,背景白色,frame rate 设为60,能让泡泡移动得快一点流畅一些。

  第二步:画泡泡,保存为mc,命名为pao。

  第三步:再新建一个mc,命名为pp_mc,并设定输出连接名为pp,以便attachmovie调用。在mc的场景中拖入pao,坐标以需要泡泡出现的大体范围为准,我设的是x=98,y=10,pp_mc需要实现泡泡的随机移动,所以,选定pao,打开action面板。代码如下:

onClipEvent (load) {
 a = random(140)+10;
 //当mc载入时,预设a变量。a变量是控制泡泡运动方向的,对a进行10到150之间的随机取值      
}

onClipEvent (enterFrame) {
 if (this._x>a) {             
  this._x = int(this._x)-1;          
  this._y -= 1;
  this._alpha -= 0.01;
  if (this._alpha == 0) {
   this.unloadMovie();
  }
 } else if (this._x<a) {
  this._x = int(this._x)+1;
  this._y -= 1;
  this._alpha -= 0.01;
  if (this._alpha == 0) {
   this.unloadMovie();  //当透明度为0时,卸载泡泡
  }

  //以上两个执行语句中,第一句为this._x取整这一点很要害,因为假如不小心泡泡的x坐标不是整数,到最接近a的那一步时,x总是无法等于a,_x-1就小于a,会执行x<a中的语句,+1后又会大于a,再执行x>a的语句,这也是我刚做时泡泡总是运行一次就直线上升的原因。

 } else {
  a = random(140)+10;
 }
}//x=a时,对a重新取值

  第四步:回到场景,在第一帧上写如下代码

  j=0;
//设定控制循环以便产生多个泡泡的变量 j

  第五步:在第二祯写如下代码

  _root.attachMovie("pp", "pp"+j, j);
//从库里复制泡泡
_root["pp"+j]._x = random(140)+10;
//为泡泡设定x坐标值,这里是10到150之间的随机值
_root["pp"+j]._y = 200;
//设定y坐标值
_root["pp"+j]._xscale = random(70)+30;
//30%到100%的随机x缩放值_root["pp"+j]._yscale = _root["pp"+j]._xscale; 
//30%到100%的随机y缩放值

  第六步:第三祯代码如下
if (j<10) {
 //这个判定为j赋最大值
 j = j+1;
} else {
 j = 0; 
 //当j=10时,j返回0值
}
gotoAndPlay(2);

  在最初做这个泡泡时,我没有为j设定最大值,让j不断累加,导致swf文件极占cpu资源,其实10个泡泡对于我做的这个出现频率就够了,j可以根据实际情况设定。

  好了,你也可以做个泡泡了,还有一点就是,我为了让泡泡不要出得这么频繁,让第二祯和第三祯之间隔了好些个空白祯,假如想多一些,挨近一点就行了。
往上升是泡泡,假如往下飘可以做雨,雪什么的。试试看吧 :p
这个是土人布置的作业,为了加深印象,再写一遍教程。跟大家一起学习
第一次写教程,有说的不清晰的地方,请大家指出,有说的不对的地方,请大家指点。 :)

  以下是由feng4ever制作的flash:

« Full Screen »

  下载源文件




返回类别: Flash教程
上一教程: 收购后如何发展?2006年Flash软件走势5大猜测
下一教程: 两只蝴蝶飞舞动画,Flash制作方式

您可以阅读与"学习笔记:飘动的汽泡"相关的教程:
· 用PhotoShop与FLASH做飘动的云
· AS学习:也谈加载外部图片进行循环滚动的无缝连接
· Flash AS学习:对于TREE组件的一点整理
· Flash MX 2004新特性实例学习五
· 模拟物体高速运动的实例
    微笑服务 优质保证 索取样品